{"id":771,"date":"2017-04-25T10:06:08","date_gmt":"2017-04-25T15:06:08","guid":{"rendered":"http:\/\/inova8.com\/bg_inova8.com\/?p=771"},"modified":"2019-04-23T02:31:05","modified_gmt":"2019-04-23T07:31:05","slug":"rdf2model-skos-to-prov-via-owl","status":"publish","type":"post","link":"https:\/\/inova8.com\/bg_inova8.com\/rdf2model-skos-to-prov-via-owl\/","title":{"rendered":"rdf2model: SKOS to PROV via OWL"},"content":{"rendered":"<div class=\"boldgrid-section\">\n<div class=\"container\">\n<div class=\"row\">\n<div class=\"col-md-12 col-xs-12 col-sm-12\"><em><br \/>\nSKOS, the Simple Knowledge Organization System, offers an easy to understand schema for vocabularies and taxonomies. However modeling precision is lost when skos:semanticRelation predicates are introduced.<\/em><em><br \/>\nCombining SKOS with RDFS\/OWL allows both the precision of owl:ObjectProperty to be combined with the flexibility of SKOS. However clarity is then lost as the number of core concepts (aka owl:Class) grow.<br \/>\n<\/em><em>Many models are not just documenting the \u2018state\u2019 of an entity. Instead they are often tracking the actions performed on entities by agents at locations. Thus aligning the core concepts to the Activity, Entity, Agent, and Location classes of the PROV ontology provides a generic upper-ontology within which to organize the model details.<\/em><\/p>\n<h1>Vehicle Manufacturing Example<\/h1>\n<p>This examples captures information about vehicle manufacturing. Following<\/p>\n<ol>\n<li>Manufacturers: the manufacturer of models of cars in various production lines sited at plants<\/li>\n<li>Models: the models that the manufacturer produces<\/li>\n<li>ProductionLines: the production lines set up to produce models of vehicles on behalf of a manufacturer<\/li>\n<li>Plants: the plants that house the production lines<\/li>\n<\/ol>\n<p>In addition there are different \u2018styles\u2019 of manufacturing that occur for various models and various sites:<\/p>\n<ol start=\"5\">\n<li>Manufacturing: the use of a ProductionLine for a particular Model<\/li>\n<\/ol>\n<h1>SKOS Modeling<\/h1>\n<p>If we follow a pure SKOS model we proceed as follows by creating a VehicleManufacturingScheme &nbsp;skos:ConceptScheme<\/p>\n<p style=\"padding-left: 60px;\">s:VehicleManufacturingScheme<\/p>\n<p style=\"padding-left: 90px;\">rdf:type skos:ConceptScheme<\/p>\n<p style=\"padding-left: 60px;\">.<\/p>\n<p>Then we create skos:topConceptOf Manufacturer, Model, Plant, and Production as follows:<\/p>\n<p>&nbsp;<\/p>\n<p style=\"padding-left: 60px;\">s:Manufacturer<\/p>\n<p style=\"padding-left: 90px;\">rdf:type owl:Class ;<\/p>\n<p style=\"padding-left: 90px;\">rdfs:subClassOf skos:Concept ;<\/p>\n<p style=\"padding-left: 90px;\">skos:topConceptOf s:VehicleManufacturingScheme<\/p>\n<p style=\"padding-left: 60px;\">.<\/p>\n<p style=\"padding-left: 60px;\">s:Model<\/p>\n<p style=\"padding-left: 90px;\">rdf:type owl:Class ;<\/p>\n<p style=\"padding-left: 90px;\"><u>rdfs:subClassOf<\/u> skos:Concept ;<\/p>\n<p style=\"padding-left: 90px;\">skos:topConceptOf s:VehicleManufacturingScheme<\/p>\n<p style=\"padding-left: 60px;\">.<\/p>\n<p>These top-level concepts are being created of type owl:Class and a subClassOf skos:Concept.&nbsp; This is the pattern recommended in (Bechhofer, et al.)<\/p>\n<p>Finally we can create skos:broader concepts as follows:<\/p>\n<p style=\"padding-left: 60px;\">s:Ford<\/p>\n<p style=\"padding-left: 90px;\">rdf:type s:Manufacturer ;<\/p>\n<p style=\"padding-left: 90px;\">skos:broader s:Manufacturer ;<\/p>\n<p style=\"padding-left: 90px;\">skos:inScheme s:VehicleManufacturingScheme<\/p>\n<p style=\"padding-left: 60px;\">.<\/p>\n<p style=\"padding-left: 60px;\">s:Fusion<\/p>\n<p style=\"padding-left: 90px;\">rdf:type s:Model ;<\/p>\n<p style=\"padding-left: 90px;\">skos:broader s:Model ;<\/p>\n<p style=\"padding-left: 90px;\">skos:inScheme s:VehicleManufacturingScheme<\/p>\n<p style=\"padding-left: 60px;\">.<\/p>\n<p>The resultant SKOS taxonomy of the VehicleManufacturingScheme&nbsp; skos:ConceptScheme then appears as follows:<\/p>\n<p><img loading=\"lazy\" class=\"size-full wp-image-778 aligncenter\" src=\"http:\/\/inova8.com\/bg_inova8.com\/wp-content\/uploads\/2017\/04\/model2rdf.figure-1.png\" alt=\"\" width=\"212\" height=\"507\" srcset=\"https:\/\/inova8.com\/bg_inova8.com\/wp-content\/uploads\/2017\/04\/model2rdf.figure-1.png 212w, https:\/\/inova8.com\/bg_inova8.com\/wp-content\/uploads\/2017\/04\/model2rdf.figure-1-125x300.png 125w\" sizes=\"(max-width: 212px) 100vw, 212px\" \/><\/p>\n<p style=\"text-align: center;\">Figure 1: SKOS taxonomy<\/p>\n<h2>Why?<\/h2>\n<p>By starting with a pure SKOS model we provide access to the underling concepts in a more accessible style for the less proficient user, as illustrated by the SKOS Taxonomy above. Yet we have not sacrificed the ontological precision of owl:Classes.<\/p>\n<p>Thus we can ask questions about all concepts:<\/p>\n<p style=\"padding-left: 60px;\">SELECT * WHERE<\/p>\n<p style=\"padding-left: 60px;\">{<\/p>\n<p style=\"padding-left: 60px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ?myConcepts rdfs:subClassOf+ skos:Concept .<\/p>\n<p style=\"padding-left: 60px;\">}<\/p>\n<p>Or we can get a list of anything broader than one of these concepts:<\/p>\n<p style=\"padding-left: 60px;\">SELECT * WHERE<\/p>\n<p style=\"padding-left: 60px;\">{<\/p>\n<p style=\"padding-left: 60px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ?myBroaderConcepts skos:broader s:Model .<\/p>\n<p style=\"padding-left: 60px;\">}<\/p>\n<h1>SKOS+OWL Modeling<\/h1>\n<p>Although skos:semanticRelation allows one to link concepts together, this predicate is often too broad when trying to create an ontology that documents specific relations between specific types of concept.<\/p>\n<p>In our VehicleManufacturingScheme we might want to know the following:<\/p>\n<ol>\n<li>isManufacturedBy: which manufacturer manufactures a particular model<\/li>\n<li>operatedBy: which manufacturer operates a particular production facility<\/li>\n<li>performedAt: which plant is the location of a production facility<\/li>\n<li>wasManufacturedAt: which production facility was used to manufacture a particular model<\/li>\n<\/ol>\n<p><img loading=\"lazy\" class=\"size-full wp-image-779 aligncenter\" src=\"http:\/\/inova8.com\/bg_inova8.com\/wp-content\/uploads\/2017\/04\/model2rdf.figure-2.png\" alt=\"\" width=\"7594\" height=\"451\" srcset=\"https:\/\/inova8.com\/bg_inova8.com\/wp-content\/uploads\/2017\/04\/model2rdf.figure-2.png 7594w, https:\/\/inova8.com\/bg_inova8.com\/wp-content\/uploads\/2017\/04\/model2rdf.figure-2-300x18.png 300w, https:\/\/inova8.com\/bg_inova8.com\/wp-content\/uploads\/2017\/04\/model2rdf.figure-2-768x46.png 768w, https:\/\/inova8.com\/bg_inova8.com\/wp-content\/uploads\/2017\/04\/model2rdf.figure-2-1024x61.png 1024w\" sizes=\"(max-width: 7594px) 100vw, 7594px\" \/><\/p>\n<p style=\"text-align: center;\">Figure 2: SKOS+OWL model of Relations<\/p>\n<p>&nbsp;<\/p>\n<p>These predicates can be defined using RDFS as follows:<\/p>\n<p style=\"padding-left: 60px;\">so:isManufacturerBy<\/p>\n<p style=\"padding-left: 90px;\">&nbsp;rdf:type owl:ObjectProperty ;<\/p>\n<p style=\"padding-left: 90px;\">rdfs:domain s:Model ;<\/p>\n<p style=\"padding-left: 90px;\">rdfs:range s:Manufacturer ;<\/p>\n<p style=\"padding-left: 90px;\">rdfs:subPropertyOf skos:semanticRelation<\/p>\n<p style=\"padding-left: 60px;\">.<\/p>\n<p style=\"padding-left: 60px;\">so:operatedBy<\/p>\n<p style=\"padding-left: 90px;\">rdf:type owl:ObjectProperty ;<\/p>\n<p style=\"padding-left: 90px;\">rdfs:domain s:Production ;<\/p>\n<p style=\"padding-left: 90px;\">rdfs:range s:Manufacturer ;<\/p>\n<p style=\"padding-left: 90px;\">rdfs:subPropertyOf skos:semanticRelation<\/p>\n<p style=\"padding-left: 60px;\">.<\/p>\n<p>Note that the definition of Model, Manufacturer etc. as subClassOf skos:Concept allows us to precisely define the domain and range.<\/p>\n<p style=\"padding-left: 60px;\">s:Fusion<\/p>\n<p style=\"padding-left: 90px;\">so:isManufacturerBy s:Ford ;<\/p>\n<p style=\"padding-left: 90px;\">so:wasManufacturedAt s:Halewood-SmallVehicle ;<\/p>\n<p style=\"padding-left: 60px;\">.<\/p>\n<p style=\"padding-left: 60px;\">s:Dagenham-Truck<\/p>\n<p style=\"padding-left: 90px;\">so:operatedBy s:Ford ;<\/p>\n<p style=\"padding-left: 90px;\">so:performedAt s:Dagenham ;<\/p>\n<p style=\"padding-left: 60px;\">.Thus we have used the flexibility of SKOS with the greater modeling precision of RDFS\/OWL.<\/p>\n<h2>Why?<\/h2>\n<p>By building upon the SKOS model, one can ask an expansive question such as what concepts are semantically related to, say, the concept s:Fusion with a simple query:<\/p>\n<p style=\"padding-left: 60px;\">SELECT * WHERE<\/p>\n<p style=\"padding-left: 60px;\">{<\/p>\n<p style=\"padding-left: 60px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s:Fusion&nbsp; ?p ?y .<\/p>\n<p style=\"padding-left: 60px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ?p rdfs:subPropertyOf* skos:semanticRelation<\/p>\n<p style=\"padding-left: 60px;\">}<\/p>\n<p>Yet with the same model we can ask a specific question about a relationship of a specific instance:<\/p>\n<p style=\"padding-left: 60px;\">SELECT * WHERE<\/p>\n<p style=\"padding-left: 60px;\">{<\/p>\n<p style=\"padding-left: 60px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s:Camry so:isManufacturerBy&nbsp;&nbsp; ?o .<\/p>\n<p style=\"padding-left: 60px;\">}<\/p>\n<h1>SKOS+OWL+PROV Modeling<\/h1>\n<p>One of the attractions of SKOS is that a taxonomy can grow organically. One of the problems of SKOS is that a taxonomy can grow organically!<\/p>\n<p>As the taxonomy grows it can be useful to add another layer of structure beyond a catalog of concepts. Many models are not just documenting the \u2018state\u2019 of an entity. Instead they are often tracking the actions performed on entities by agents at locations. Thus aligning the core concepts to the Activity, Entity, Agent, and Location classes of the PROV ontology (Lebo, et al.) provides a generic upper-ontology within which to organize the model details.<\/p>\n<p><img loading=\"lazy\" class=\"size-full wp-image-780 aligncenter\" src=\"http:\/\/inova8.com\/bg_inova8.com\/wp-content\/uploads\/2017\/04\/model2rdf.figure-3.png\" alt=\"\" width=\"961\" height=\"535\" srcset=\"https:\/\/inova8.com\/bg_inova8.com\/wp-content\/uploads\/2017\/04\/model2rdf.figure-3.png 961w, https:\/\/inova8.com\/bg_inova8.com\/wp-content\/uploads\/2017\/04\/model2rdf.figure-3-300x167.png 300w, https:\/\/inova8.com\/bg_inova8.com\/wp-content\/uploads\/2017\/04\/model2rdf.figure-3-768x428.png 768w\" sizes=\"(max-width: 961px) 100vw, 961px\" \/><\/p>\n<p style=\"text-align: center;\">Figure 3: PROV model<\/p>\n<p>Thus our VehicleManufacturingScheme has each core PROV concept:<\/p>\n<ol>\n<li>Manufacturers: the Agents who manufacture models, and operate plants<\/li>\n<li>Models: the Entities<\/li>\n<li>ProductionLines: the Activities that produce Models on behalf of Manufacturers.<\/li>\n<li>Plants: the Location at which Activities take place, and Agents and Entities are located.<\/li>\n<\/ol>\n<p><img loading=\"lazy\" class=\"size-full wp-image-775 aligncenter\" src=\"http:\/\/inova8.com\/bg_inova8.com\/wp-content\/uploads\/2017\/04\/model2rdf.figure-4.png\" alt=\"\" width=\"7594\" height=\"1453\" srcset=\"https:\/\/inova8.com\/bg_inova8.com\/wp-content\/uploads\/2017\/04\/model2rdf.figure-4.png 7594w, https:\/\/inova8.com\/bg_inova8.com\/wp-content\/uploads\/2017\/04\/model2rdf.figure-4-300x57.png 300w, https:\/\/inova8.com\/bg_inova8.com\/wp-content\/uploads\/2017\/04\/model2rdf.figure-4-768x147.png 768w, https:\/\/inova8.com\/bg_inova8.com\/wp-content\/uploads\/2017\/04\/model2rdf.figure-4-1024x196.png 1024w\" sizes=\"(max-width: 7594px) 100vw, 7594px\" \/><\/p>\n<p style=\"text-align: center;\">Figure 4: PROV Model<\/p>\n<p>&nbsp;<\/p>\n<p style=\"padding-left: 60px;\">s:Production<\/p>\n<p style=\"padding-left: 90px;\">rdfs:subClassOf prov:Activity ;<\/p>\n<p style=\"padding-left: 60px;\">.<\/p>\n<p style=\"padding-left: 60px;\">s:Model<\/p>\n<p style=\"padding-left: 90px;\">rdfs:subClassOf prov:Entity ;<\/p>\n<p style=\"padding-left: 60px;\">.<\/p>\n<p style=\"padding-left: 60px;\">s:Manufacturer<\/p>\n<p style=\"padding-left: 90px;\">rdfs:subClassOf prov:Organization ;<\/p>\n<p style=\"padding-left: 60px;\">.<\/p>\n<p style=\"padding-left: 60px;\">s:Plant<\/p>\n<p style=\"padding-left: 90px;\">rdfs:subClassOf prov:Location ;<\/p>\n<p style=\"padding-left: 60px;\">.<\/p>\n<p>Similarly we can cast our predicates into the same PROV model as follows:<\/p>\n<p style=\"padding-left: 60px;\">so:isManufacturerBy<\/p>\n<p style=\"padding-left: 90px;\">rdfs:subPropertyOf prov:wasAttributedTo ;<\/p>\n<p style=\"padding-left: 60px;\">.<\/p>\n<p style=\"padding-left: 60px;\">so:operatedBy<\/p>\n<p style=\"padding-left: 90px;\">rdfs:subPropertyOf prov:wasAssociatedWith ;<\/p>\n<p style=\"padding-left: 60px;\">.<\/p>\n<p style=\"padding-left: 60px;\">so:performedAt<\/p>\n<p style=\"padding-left: 90px;\">rdfs:subPropertyOf prov:atLocation ;<\/p>\n<p style=\"padding-left: 60px;\">.<\/p>\n<p style=\"padding-left: 60px;\">so:wasManufacturedAt<\/p>\n<p style=\"padding-left: 90px;\">rdfs:subPropertyOf prov:wasGeneratedBy ;<\/p>\n<p style=\"padding-left: 60px;\">.<\/p>\n<h2>Why?<\/h2>\n<p>The PROV model is closer to the requirements of most enterprise models, that are trying to \u2018model the business\u2019, than a simple E-R model. The latter concentrates on capturing the attributes of an entity that record the current state of that entity. Often those attributes focus on documenting the process by which the entity gained its current state:<\/p>\n<ul>\n<li>The agent that created the entity<\/li>\n<li>The activity used to create the entity<\/li>\n<li>The location when things were performed<\/li>\n<li>The data of the activity, etc<\/li>\n<\/ul>\n<p>Superimposing the PROV model formalizes this model, and thus allows a structure within which a more casual user can navigate, rather than a sea of entities.<\/p>\n<p>By building upon the PROV model, one can ask an expansive question such as what entities behave as Agents and in which entities are they involved:<\/p>\n<p style=\"padding-left: 60px;\"><strong>SELECT<\/strong> * <strong>WHERE<\/strong><\/p>\n<p style=\"padding-left: 60px;\">{<\/p>\n<p style=\"padding-left: 60px;\">?organization a ?Agent .<\/p>\n<p style=\"padding-left: 60px;\">?Agent rdfs:subClassOf* prov:Agent .<\/p>\n<p style=\"padding-left: 60px;\">?entity ?predicate ?organization<\/p>\n<p style=\"padding-left: 60px;\">}<\/p>\n<h1>SKOS+OWL+PROV-Qualified Modeling<\/h1>\n<p>Within the structure of PROV, predicates define the relationships between Activities, Entities, Agents, and Locations. However it is sometimes necessary to qualify these relationships. For example, the so:wasManufacturedAt predicate defines that a s:Production facility was used to manufacture a s:Model. When? How was it used? Why?<\/p>\n<p>To extend the model, PROV adds the concept of a qualified influence, which allows the relationship to be further defined.<\/p>\n<p><img loading=\"lazy\" class=\"size-full wp-image-776 alignnone\" src=\"http:\/\/inova8.com\/bg_inova8.com\/wp-content\/uploads\/2017\/04\/model2rdf.figure-5.png\" alt=\"\" width=\"7689\" height=\"1425\" srcset=\"https:\/\/inova8.com\/bg_inova8.com\/wp-content\/uploads\/2017\/04\/model2rdf.figure-5.png 7689w, https:\/\/inova8.com\/bg_inova8.com\/wp-content\/uploads\/2017\/04\/model2rdf.figure-5-300x56.png 300w, https:\/\/inova8.com\/bg_inova8.com\/wp-content\/uploads\/2017\/04\/model2rdf.figure-5-768x142.png 768w, https:\/\/inova8.com\/bg_inova8.com\/wp-content\/uploads\/2017\/04\/model2rdf.figure-5-1024x190.png 1024w\" sizes=\"(max-width: 7689px) 100vw, 7689px\" \/><\/p>\n<p style=\"text-align: center;\">Figure 5: Qualified PROV for some predicates<\/p>\n<p>We do this first of all by creating sopq:Manufacturing:<\/p>\n<p style=\"padding-left: 60px;\">sopq:Manufacturing<\/p>\n<p style=\"padding-left: 90px;\">rdf:type owl:Class ;<\/p>\n<p style=\"padding-left: 90px;\">rdfs:subClassOf skos:Concept ;<\/p>\n<p style=\"padding-left: 90px;\">rdfs:subClassOf prov:Generation ;<\/p>\n<p style=\"padding-left: 90px;\">skos:topConceptOf s:VehicleManufacturingScheme ;<\/p>\n<p style=\"padding-left: 60px;\">.<\/p>\n<p>Note that this is a rdfs:subClassOf prov:Generation, the reification of the predicate prov:wasGeneratedBy<\/p>\n<p>We then add two predicates, one (sopq:wasManufacturedUsing) from the prov:Entity to the prov:Generation, and one (sopq:production) from the prov:Generation to the prov:Activity as follows:<\/p>\n<p style=\"padding-left: 60px;\">sopq:wasManufacturedUsing<\/p>\n<p style=\"padding-left: 90px;\">rdf:type owl:ObjectProperty ;<\/p>\n<p style=\"padding-left: 90px;\">rdfs:domain s:Model ;<\/p>\n<p style=\"padding-left: 90px;\">rdfs:range sopq:Manufacturing ;<\/p>\n<p style=\"padding-left: 90px;\">rdfs:subPropertyOf skos:semanticRelation ;<\/p>\n<p style=\"padding-left: 90px;\">rdfs:subPropertyOf prov:qualifiedGeneration ;<\/p>\n<p style=\"padding-left: 60px;\">.<\/p>\n<p style=\"padding-left: 60px;\">sopq:production<\/p>\n<p style=\"padding-left: 90px;\">rdf:type owl:ObjectProperty ;<\/p>\n<p style=\"padding-left: 90px;\">rdfs:subPropertyOf skos:semanticRelation ;<\/p>\n<p style=\"padding-left: 90px;\">rdfs:subPropertyOf prov:activity ;<\/p>\n<p style=\"padding-left: 60px;\">.<\/p>\n<p style=\"padding-left: 60px;\">Finally we can create a Manufacturing qualified generation concept as follows:<\/p>\n<p style=\"padding-left: 60px;\">sopq:L-450H_at_Swindon-Hybrid<\/p>\n<p style=\"padding-left: 90px;\">rdf:type sopq:Manufacturing ;<\/p>\n<p style=\"padding-left: 90px;\">sopq:production s:Swindon-Hybrid ;<\/p>\n<p style=\"padding-left: 90px;\">&nbsp;skos:broader sopq:Manufacturing ;<\/p>\n<p style=\"padding-left: 60px;\">.<\/p>\n<p style=\"padding-left: 60px;\">s:L-450H<\/p>\n<p style=\"padding-left: 90px;\">sopq:wasManufacturedUsing sopq:L-450H_at_Swindon-Hybrid ;<\/p>\n<p style=\"padding-left: 60px;\">.<\/p>\n<p>In the figure below we can see that these qualified actions simply extend the SKPOS taxonomy:<\/p>\n<p><img loading=\"lazy\" class=\"size-full wp-image-777 aligncenter\" src=\"http:\/\/inova8.com\/bg_inova8.com\/wp-content\/uploads\/2017\/04\/model2rdf.figure-6.png\" alt=\"\" width=\"261\" height=\"542\" srcset=\"https:\/\/inova8.com\/bg_inova8.com\/wp-content\/uploads\/2017\/04\/model2rdf.figure-6.png 261w, https:\/\/inova8.com\/bg_inova8.com\/wp-content\/uploads\/2017\/04\/model2rdf.figure-6-144x300.png 144w\" sizes=\"(max-width: 261px) 100vw, 261px\" \/><\/p>\n<p style=\"text-align: center;\">Figure 6: Taxonomy extended with Qualified Actions<\/p>\n<h2>Why?<\/h2>\n<p>Using qualifiedActions provides a systematic, rather than ad-hoc, way to provide more precision to a model.<\/p>\n<h1>Remaining Issues<\/h1>\n<ol>\n<li>The PROV structure does not manifest itself within the taxonomy. Should Activity, Entity, Agent, and Location therefore be ConceptSchemes?<\/li>\n<\/ol>\n<h1>Model<\/h1>\n<p>The model files used in this example are included here:&nbsp;<a href=\"http:\/\/inova8.com\/bg_inova8.com\/wp-content\/uploads\/2017\/04\/model2rdf.zip\">model2rdf<\/a><\/p>\n<ul>\n<li>skos.ttl<\/li>\n<li>skos+owl.ttl<\/li>\n<li>skos+owl+prov.ttl<\/li>\n<li>skos+owl+provqualified.ttl<\/li>\n<\/ul>\n<h1>References<\/h1>\n<p><strong>Bechhofer, Sean and Miles, Alistair.<\/strong> Using OWL and SKOS. [Online] W3C. https:\/\/www.w3.org\/2006\/07\/SWD\/SKOS\/skos-and-owl\/master.html.<\/p>\n<p><strong>Lebo, Timothy, Satya, Sahoo and McGuinness, Deborah.<\/strong> PROV-O: The PROV Ontology. <em>W3C. <\/em>[Online] https:\/\/www.w3.org\/TR\/prov-o\/.Reaming Issues<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>SKOS, the Simple Knowledge Organization System, offers an easy to understand schema for vocabularies and taxonomies. However modeling precision is lost when skos:semanticRelation predicates are introduced. Combining SKOS with RDFS\/OWL allows both the precision of owl:ObjectProperty to be combined with the flexibility of SKOS. However clarity is then lost as the number of core concepts [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"bgseo_title":"rdf2model: SKOS to PROV via OWL","bgseo_description":"Combining SKOS with RDFS\/OWL allows both the precision of owl:ObjectProperty to be combined with the flexibility of SKOS. However clarity is then lost as the number of core concepts (aka owl:Class) grow.\r\nMany models are not just documenting the \u2018state\u2019 of an entity. Instead they are often tracking the actions performed on entities by agents at locations. Thus aligning the core concepts to the Activity, Entity, Agent, and Location classes of the PROV ontology provides a generic upper-ontology within which to organize the model details.","bgseo_robots_index":"index","bgseo_robots_follow":"follow","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0},"categories":[15,14,10,12,8,9,7,18],"tags":[48,43,41,40,49,35,44,38,42,36,37,39,45,34,47,46],"_links":{"self":[{"href":"https:\/\/inova8.com\/bg_inova8.com\/wp-json\/wp\/v2\/posts\/771"}],"collection":[{"href":"https:\/\/inova8.com\/bg_inova8.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/inova8.com\/bg_inova8.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/inova8.com\/bg_inova8.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/inova8.com\/bg_inova8.com\/wp-json\/wp\/v2\/comments?post=771"}],"version-history":[{"count":9,"href":"https:\/\/inova8.com\/bg_inova8.com\/wp-json\/wp\/v2\/posts\/771\/revisions"}],"predecessor-version":[{"id":904,"href":"https:\/\/inova8.com\/bg_inova8.com\/wp-json\/wp\/v2\/posts\/771\/revisions\/904"}],"wp:attachment":[{"href":"https:\/\/inova8.com\/bg_inova8.com\/wp-json\/wp\/v2\/media?parent=771"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/inova8.com\/bg_inova8.com\/wp-json\/wp\/v2\/categories?post=771"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/inova8.com\/bg_inova8.com\/wp-json\/wp\/v2\/tags?post=771"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}