Presentation is loading. Please wait.

Presentation is loading. Please wait.

Linking Guide Linking RDF(/RDFS/OWL2) Data Sets Michel Böhms (TNO) Bart Luiten (TNO) Jaap Bakker (RWS) September 3, 2015 Michel Böhms Linking Guide 1.

Similar presentations


Presentation on theme: "Linking Guide Linking RDF(/RDFS/OWL2) Data Sets Michel Böhms (TNO) Bart Luiten (TNO) Jaap Bakker (RWS) September 3, 2015 Michel Böhms Linking Guide 1."— Presentation transcript:

1 Linking Guide Linking RDF(/RDFS/OWL2) Data Sets Michel Böhms (TNO) Bart Luiten (TNO) Jaap Bakker (RWS) September 3, 2015 Michel Böhms Linking Guide 1

2 Overview W3C Linked Data Approach Basic Linking Example Observations Advanced Linking More Background Info September 3, 2015 Michel Böhms Linking Guide 2

3 W3C Linked Data approach: 5 Stars September 3, 2015 Michel Böhms Linking Guide 3

4 W3C Linked Data approach: Basic Assumptions A “Linking” is a set of one or more “Links” relating two RDF(/RDFS/OWL2) data sets (ontologies and/or their sets of individuals) possibly bi- directionally These Linkings are just like the data sets to be linked, data sets themselves, fully described using RDF/RDFS/OWL2 following the same Modelling Guide as used for the ontologies. We distinguish: Linking Ontologies (or ‘Linking Rule Sets’; EU V-Con terminology) containing class/property-level links, and Linking Data Sets containing individual-level links Not bound to a particular software tool or particular semantics/format like Microsoft Excel file format) making full use of interoperable and well- defined RDF/RDFS/OWL2 semantics and Turtle syntax (i.e. ) Enabling inferred data from asserted data via standard reasoners (instead of dedicated transformation software tools) September 3, 2015 Michel Böhms Linking Guide 4

5 Basic Linking: Four Relevant dimensions 1.Three key Meta concepts: Classes (owl:Class) Properties (owl:DatatypeProperty & owl:ObjectProperty) Individuals (owl:NamedIndividual) 2.12 “Venn situations” 5 for classes, same 5 for properties, 2 other for individuals 3.Three Semantic levels for classes 4.Asserted versus Inferred data September 3, 2015 Michel Böhms Linking Guide 5

6 2 ontologies: x and y Where x, y are prefixes for name space URIs asserted or inferred 1 Class A in ontology x > x:A 1 Class B in ontology y > y:B 1 Property in ontology x > x:c 1 Property in ontology y > y:d 1 Individual in ontology x > x:a of type x:A 1 Individual in ontology y > y:b of type y:B Classes represented by circles, Individuals represented by dots in the next three figures (in later examples as dotted circles) Basic Linking: Assume … September 3, 2015 Michel Böhms Linking Guide 6

7 Basic Linking: 5 Venn situations for classes The “default”, unconstrained situation. Independent classes, no linking rules relevant x:A rdfs:subClassOf y:B y:B rdfs:subClassOf x:A 2. AND 3. x:A owl:EquivalentClass y:B (symmetric) x:A owl:DisjointWith y:B (symmetric) 1. 2. 3. 4. 5. September 3, 2015 Michel Böhms Linking Guide 7

8 Basic Linking: 5 Venn situations for properties The “default”, unconstrained. Independent properties, no mapping rule x:c rdfs:subPropertyOf y:d y:d rdfs:subPropertyOf x:c x:c owl:propertyDisjointWith y:d (symmetric) 1. 2. 3. 4. 5. 2. AND 3. Same as: x:A owl:EquivalentProperty y:B (symmetric) September 3, 2015 Michel Böhms Linking Guide 8

9 Basic Linking: 2 Venn situations for individuals 1. 2. x:a owl:sameAs y:b (symmetric) September 3, 2015 Michel Böhms Linking Guide 9 x:a rdf:type y:B

10 Basic Linking: Link Types represented in RDF/RDFS/OWL (#8) Class level (in Linking Ontology) x:A rdfs:subClassOf y:B (== y:B rdfs:subClassOf x:A) x:A owl:EquivalentClass y:B (syntactic sugar really) x:c rdfs:subPropertyOf y:d (==y:d rdfs:subPropertyOf x:c) x:A owl:EquivalentProperty y:B (syntactic sugar really) x:A owl:disjointWith y:B x:c owl:propertyDisjointWith Individual level (in Linking Data Set) x:a owl:sameAs y:b Individual <> class level (in Linking Data Set) x:a rdf:type y:B September 3, 2015 Michel Böhms Linking Guide 10

11 Basic Linking: Inference potential Depending on the semantic level of the classes in ontologies more or less can be inferred from assertions (available in ontologies, linkings and/or data sets) Standard OWL2 inferences (‘entailments regimes’ or ‘meta-rules’) apply Example meta-rule IF (x:a rdf:type x:A) AND (x:A rdfs:subClassOf y:B) THEN (x:a rdf:type y:B) Where “x:A rdfs:subClassOf y:B” would be an actual “Link” September 3, 2015 Michel Böhms Linking Guide 11

12 Basic Linking: More meta-rule examples IF (x:a rdf:type x:A) AND (x:A rdf:type owl:Class rdfs:subClassOf [ a owl:Restriction ; owl:hasValue ? ; owl:onProperty x:c ].) THEN (x:a x:c ?) IF (x:a rdf:type x:A) AND (y:b rdf:type y:B) AND (x:a owl:sameAs y:b) AND (x:a x:c x:z) THEN (y:b x:c x:z) September 3, 2015 Michel Böhms Linking Guide 12

13 Basic Linking: 3 semantic levels for Classes L1: Class without restrictions (the class is just declared) L2: Class with only “necessary” Restrictions L3: Class with “necessary & sufficient“ (n&s) Restrictions An ontology can have a mix of 1/2/3-type classes An ontology can be “semantically complete”, having only L3 classes In practice an ontology is typically a mix with many L1s, some L2s and often no L3s, i.e. “semantically not that strong” September 3, 2015 Michel Böhms Linking Guide 13

14 Basic Linking: Nine resulting (bi-directional) linking situations We distinguish the following 9 situations for classes in ontology x and y: Situation 1: L1/L1: worst case (but very practical) Situation 6: L3/L3: best case (but very unlikely) L3 often not needed/relevant rdf:types are often asserted, so automatic classification not required Links are often asserted, so automatic linking not required So we can simplify to … September 3, 2015 Michel Böhms Linking Guide 14 x/yL1L2L3 L1Situation 1Situation 2Situation 5 L2Situation 3Situation 4Situation 7 L3Situation 6Situation 8Situation 9

15 Basic Linking: Four most relevant linking situations We will now analyse a simple example and show for each of the four situations what can be inferred (for a given intended linking) September 3, 2015 Michel Böhms Linking Guide 15 x/yL1L2 L1Situation 1Situation 2 L2Situation 3Situation 4

16 Example: Legenda September 3, 2015 Michel Böhms Linking Guide 16 Class Individual Property

17 Example: Graphically (both classes are L1) September 3, 2015 Michel Böhms Linking Guide 17 x:Red Car y:Car x:My Red Car y:My Car Classes Individuals x ontology y ontology linking ontology x:colour y:color rdf:type owl:sameAs rdfs:subClassOf owl:equivalentProperty

18 Example: Intended linking between x and y classes/properties in Venn-diagram x:RedCar is a subclass of y:Car. x:colour is equivalent property as y:color. September 3, 2015 Michel Böhms Linking Guide 18 This knowledge becomes part of the Linking Ontology

19 Example: Situation 1: L1/L1 (full correspondence to diagram) Ontology x asserts: x:RedCar rdf:type owl:Class. x:colour rdf:type owl:DatatypeProperty ; rdfs:range xsd:string. Ontology y asserts: y:Car rdf:type owl:Class. y:color rdf:type owl:DatatypeProperty ; rdfs:range xsd:string. Linking Ontology Set asserts: x:RedCar rdfs:subClassOf y:Car. x:colour owl:equivalentProperty y:color. September 3, 2015 Michel Böhms Linking Guide 19

20 Example: Situation 1: L1/L1 - What can be inferred? In case we first extra assert x:MyRedCar rdf:type x:RedCar. we can infer: x:MyRedCar rdf:type y:Car. In case we next extra assert x:MyRedCar x:colour “red”^^xsd:string. we can extra infer: x:MyRedCar y:color “red”^^xsd:string. In case we next extra assert: y:MyCar rd:type y:Car. x:MyRedCar owl:sameAs y:MyCar. * we can extra infer: y:MyCar x:colour “red”^^xsd:string. y:MyCar y:color “red”^^xsd:string. September 3, 2015 Michel Böhms Linking Guide 20 In case we first extra assert y:MyCar rdf:type y:Car. (we cannot infer: y:MyCar rdf:type x:RedCar.) In case we next extra assert y:MyCar y:color “red”^^xsd:string. we can extra infer: x:MyCar x:colour “red”^^xsd:string. In case we next extra assert: x:MyRedCar rd:type x:RedCar. y:MyCar owl:sameAs x:MyRedCar. * we can extra infer: x:MyRedCar y:color “red”^^xsd:string. x:MyRedCar x:colour “red”^^xsd:string. * In Linking Dat Set

21 Example: Situation 2: L1/L2 – ontology y gets smarter (L2) Since y:Car has no restriction wrt the relevant property y:color this class is already L2 wrt this property I.e. ontology y cannot be made ‘smarter’ wrt this property So the situation is the same as Situation 1 Same inferences as in Situation 1 September 3, 2015 Michel Böhms Linking Guide 21

22 Example: Situation 3: L2/L1 - ontology x gets smarter (L2) Ontology x asserts as extra in red: x:RedCar rdf:type owl:Class ; rdfs:subClassOf [ a owl:Restriction ; owl:hasValue "red"^^xsd:string ; owl:onProperty x:colour ]. Ontology y stays the same (i.e. stays level L1) September 3, 2015 Michel Böhms Linking Guide 22

23 Example: Situation 3: L2/L1 - What can be inferred? September 3, 2015 Michel Böhms Linking Guide 23 In case we first extra assert x:MyRedCar rdf:type x:RedCar. we can infer: x:MyRedCar rdf:type y:Car. x:MyRedCar x:colour “red”^^xsd:string. x:MyRedCar y:color “red”^^xsd:string. In case we next extra assert: y:MyCar rd:type y:Car. x:MyRedCar owl:sameAs y:MyCar. * we can extra infer: y:MyCar x:colour “red”^^xsd:string. y:MyCar y:color “red”^^xsd:string. In case we first extra assert y:MyCar rdf:type y:Car. )we cannot infer: y:MyCar rdf:type x:RedCar.) In case we next extra assert y:MyCar y:color “red”^^xsd:string. we can extra infer: x:MyCar x:colour “red”^^xsd:string. In case we next extra assert: x:MyRedCar rd:type x:RedCar. y:MyCar owl:sameAs x:MyRedCar. * we can extra infer: x:MyRedCar y:color “red”^^xsd:string. x:MyRedCar x:colour “red”^^xsd:string. Which is consistent with the restriction… * In Linking Dat Set

24 Example: Situation 4: L2/L2 – Both x and y get smarter September 3, 2015 Michel Böhms Linking Guide 24 Again, since y:Car has no restriction wrt the relevant property y:color this class is already L2 wrt this property I.e. ontology y cannot be made ‘smarter’ wrt this property So the situation is the same as Situation 3 Same inferences as in Situation 3

25 Observations L1 level classes are most likely for existing/practical specifications When in control we can have the ambition/manage to make them L2 or even L3 On individual-level we can use owl:sameAs to compensate missing ‘L2- ness’ On class-level L2 gives more inferences then L1 in case the property has constrained values for that class (i.e. reflects a ‘necessary condition’) We can only exploit ‘L2-ness’ if the relevant properties are linked too (preferable via equivalence like in the example) We can define L2 variants of L1 classes in the Linking Ontology and make them equivalent to the originating L1 variants. This way we do not change the original ontology (under foreign authority) but provide “our interpretation’ of it. September 3, 2015 Michel Böhms Linking Guide 25

26 Advanced Linking: Example adding knowledge to the Linking Ontology September 3, 2015 Michel Böhms Linking Guide 26 Ontology x asserts: x:RedCar rdf:type owl:Class. x:colour rdf:type owl:DatatypeProperty ; rdfs:range xsd:string. Ontology y asserts: y:Car rdf:type owl:Class. y:color rdf:type owl:DatatypeProperty ; rdfs:range xsd:string. Linking ontology asserts: l:RedCar rdf:type owl:Class ; l:RedCar owl:EquivalentClass x:RedCar ; rdfs:subClassOf [ a owl:Restriction ; owl:hasValue "red"^^xsd:string ; owl:onProperty x:colour ]. l:RedCar rdfs:subClassOf y:Car. x:colour owl:equivalentProperty y:color.

27 Advanced Linking: Further Linking Issues Role of other restriction types for classes So far we discussed Restrictions of the form “owl:hasValue” Other types: hasRange (asphalt example) Or even owl:minCardinality, owl:maxCardinality, owl:allValuesFrom, owl:someValuesFrom What happens now wrt inferring? Role of domain/range restriction types for properties Do we also need individual-level rule type x:c owl:differentFrom y:d ? How do we deal with non-1-to-1 links between classes/properties? How to deal with Numerical restrictions for properties (like in case of unit conversions)? Do we now need to go beyond OWL (like SPIN)? September 3, 2015 Michel Böhms Linking Guide 27

28 More background info on L1/L2/L3-levels /1 L1: The class is just declared L2: The class is declared and restrictions are added that indicate “necessary conditions” for one or more properties (can be a specific value or a range or complex combination, etc.) Example (having 2 such conditions): RoadSegment rdf:type owl:Class ; rdfs:subClassOf [ a owl:Restriction ; owl:hasValue "transport"^^xsd:string ; owl:onProperty :functionPerformed ]. rdfs:subClassOf [ a owl:Restriction ; owl:hasValue "vehicles"^^xsd:string ; owl:onProperty :applicationArea ]. L3: Like L2 but now so many restrictions that this set of restriction is together sufficient to fully define the class. In other words the class and the set of combined restrictions are equivalent. So when you encounter an individual in the real world and you can see/know that it has all the values for those properties (in general: ‘it satisfies all restrictions’) it is a member of that set defined by the restrictions and hence because of the equivalence a member of the class. In short: automatic classification becomes possible, you don’t have to assert anymore that MyRoadSegment rdf:type :RoadSegment. September 3, 2015 Michel Böhms Linking Guide 28

29 More background info on L1/L2/L3-levels /2 Also note that in case all classes were defined on L3-level we could in principle infer all subClass relationships, including the ones linking one ontology to another! (in that sense, an asserted subClass relationships is just a shorthand). In practice an ontology has a mix of L1, L2 and L3 level classes. Not many ontologies are only having L3 classes, the ideal semantic level. Clearly this level influences the capabilities to link different ontologies. In practice we will find typically L1-ontologies (coming from existing classifications, schemas like IFC, CityGML etc.) and maybe some of L2 (with defining properties). Although L3 might be perfect for being precise it has also a downside: suppose class X is defined in scope x and class Y in scope y independently. The chance that the INTENDED meaning was EXACTLY the same is very small (good change one party had a slightly different interpretation in mind) so equivalence is unlikely. Even Subclassing might be difficult since the “one side” has to fulfill all conditions of the “other side’, the superclass. So you end up with two classes with overlap, i.e. the general case, in which a linking rule cannot be specified at all. In that sense L1 and L2 are less precise/informal but easier to link: September 3, 2015 Michel Böhms Linking Guide 29

30 More background info on L1/L2/L3-levels /3 An example to illustrate A Car is a subclass of a MotorVehicle although a ‘FlinstoneCar’ individual might be an exception since Car is not defined as L2 where the hasPart property should always have 1 or more Engines. These semantic level considerations are essential in any modelling/linking endeavour and also influence the way we can use RDF/RDFS/OWL-based reasoners. Often, case L3 seems less relevant because our data is already typed/classified anyway. The difference in L1 <> L2 is more important because if some L2 info is not in the ontology we might have to add it to the linking to not loose knowledge and that means we have to define linking rules that go beyond RDF/RDFS/OWL-rules involving extra conditions on source or target side or make a specific interpretation explicit by introducing (equivalent) L2-variants of L1-classes. September 3, 2015 Michel Böhms Linking Guide 30


Download ppt "Linking Guide Linking RDF(/RDFS/OWL2) Data Sets Michel Böhms (TNO) Bart Luiten (TNO) Jaap Bakker (RWS) September 3, 2015 Michel Böhms Linking Guide 1."

Similar presentations


Ads by Google