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.

Slides:



Advertisements
Similar presentations
Knowledge Representation
Advertisements

Of 27 lecture 7: owl - introduction. of 27 ece 627, winter ‘132 OWL a glimpse OWL – Web Ontology Language describes classes, properties and relations.
The Relational Model System Development Life Cycle Normalisation
Chapter 8: Web Ontology Language (OWL) Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
Where are the Semantics in the Semantic Web? Michael Ushold The Boeing Company.
Dr. Jim Bowring Computer Science Department College of Charleston CSIS 690 (633) May Evening 2009 Semantic Web Principles and Practice Class 8: 8 June.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
From SHIQ and RDF to OWL: The Making of a Web Ontology Language
Meaning and Language Part 1.
Editing Description Logic Ontologies with the Protege OWL Plugin.
UML Class Diagrams: Basic Concepts. Objects –The purpose of class modeling is to describe objects. –An object is a concept, abstraction or thing that.
인공지능 특강 프로젝트 - Development of Decision Tree Algorithm for Semantic Web data 전동규.
13 Dec. 2006CmpE 583 Fall 2006 OWL Lite- Property Char’s. 1 OWL Lite: Ch. 13- Property Characteristics Atilla ELÇİ.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. Towards Translating between XML and WSML based on mappings between.
Protege OWL Plugin Short Tutorial. OWL Usage The world wide web is a natural application area of ontologies, because ontologies could be used to describe.
INF 384 C, Spring 2009 Ontologies Knowledge representation to support computer reasoning.
IfcOWL: community and implementation efforts Pieter Pauwels Ghent University, Belgium Walter Terkaj CNR-ITIA, Italy.
RDF and OWL Developing Semantic Web Services by H. Peter Alesso and Craig F. Smith CMPT 455/826 - Week 6, Day Sept-Dec 2009 – w6d21.
1 Virtualisation and Validation of Smart City Data Dr Sefki Kolozali Institute for Communication Systems Electronic Engineering Department University of.
Building an Ontology of Semantic Web Techniques Utilizing RDF Schema and OWL 2.0 in Protégé 4.0 Presented by: Naveed Javed Nimat Umar Syed.
© 2008 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Why URI Declarations? A comparison.
OWL 2 in use. OWL 2 OWL 2 is a knowledge representation language, designed to formulate, exchange and reason with knowledge about a domain of interest.
Resource Identity and Semantic Extensions: Making Sense of Ambiguity David Booth, Ph.D. Cleveland Clinic (contractor) Semantic Technology Conference 25-June-2010.
Semantic Web Ontology Design Pattern Li Ding Department of Computer Science Rensselaer Polytechnic Institute October 3, 2007 Class notes for CSCI-6962.
BioHealth Informatics Group A Practical Introduction to Ontologies & OWL Session 2: Defined Classes and Additional Modelling Constructs in OWL Nick Drummond.
ISO TC184/SC4 contribution to REACH and LCA David Leal CAESAR Systems Limited and the impact of the Semantic Web on the.
Chapter 3 RDF and RDFS Semantics. Introduction RDF has a very simple data model But it is quite liberal in what you can say Semantics can be given using.
Mapping Guide Mapping Ontologies and Data Sets in RDF/RDFS/OWL2 Michel Böhms.
SKOS. Ontologies Metadata –Resources marked-up with descriptions of their content. No good unless everyone speaks the same language; Terminologies –Provide.
1 1 Overview 1.Find out why software engineering is important ■ see some software engineering failures 2.Get acquainted with – ■ the Chair of Software.
Based on “A Practical Introduction to Ontologies & OWL” © 2005, The University of Manchester A Practical Introduction to Ontologies & OWL Session 2: Defined.
© O. Corcho, MC Suárez de Figueroa Baonza 1 OWL and SWRL Protégé 4: Building an OWL Ontology Mari Carmen Suárez-Figueroa, Oscar Corcho {mcsuarez,
OilEd An Introduction to OilEd Sean Bechhofer. Topics we will discuss Basic OilEd use –Defining Classes, Properties and Individuals in an Ontology –This.
KR A Principled Framework for Modular Web Rule Bases and its Semantics Anastasia Analyti Institute of Computer Science, FORTH-ICS, Greece Grigoris.
Internet Research – Illustrated, Fourth Edition Unit B.
Issues in Ontology-based Information integration By Zhan Cui, Dean Jones and Paul O’Brien.
Semantic Web for the Working Ontologist Dean Allemang Jim Hendler SNU IDB laboratory.
OWL Full Semantics -- RDF-Compatible Model-Theoretic Semantics by Peter F. Patel-Schneider, Patrick Hayes and Ian Horrocks W3C Recommendation, 2004
Practical RDF Chapter 12. Ontologies: RDF Business Models Shelley Powers, O’Reilly SNU IDB Lab. Taikyoung Kim.
ONTOLOGY ENGINEERING Lab #2 – September 8,
ONTOLOGY ENGINEERING Lab #3 – September 15,
Of 38 lecture 6: rdf – axiomatic semantics and query.
Semantic Web for the Working Ontologist Dean Allemang Jim Hendler SNU IDB laboratory.
Unit B Constructing Complex Searches Internet Research Third Edition.
Ontology Engineering Lab #4 - September 23, 2013.
Yu, et al.’s “A Model-Driven Development Framework for Enterprise Web Services” In proceedings of the 10 th IEEE Intl Enterprise Distributed Object Computing.
Knowledge Technologies Manolis Koubarakis 1 Some Other Useful Features of RDF.
Of 32 lecture 8: owl – language I. of 32 ece 627, winter ‘132 OWL XML/RDF syntax: header
® Sponsored by Hosted by HY_Features Part 3 - OWL encoding: rhyme and reason 96th OGC Technical Committee Nottingham, UK Rob Atkinson 17 September 2015.
Ontology Technology applied to Catalogues Paul Kopp.
Ccs.  Ontologies are used to capture knowledge about some domain of interest. ◦ An ontology describes the concepts in the domain and also the relationships.
Chapter Describing Individuals OWL Individuals ▫Ontological Primitive Layer  Mostly described with RDF ▫Instances of user-defined ontological.
OWL (Ontology Web Language and Applications) Maw-Sheng Horng Department of Mathematics and Information Education National Taipei University of Education.
Linking Ontologies to Spatial Databases
Lecture 7: Constrained Conditional Models
Enhanced Entity-Relationship (EER) Model
Integrating SysML with OWL (or other logic based formalisms)
Knowledge Representation Part VII Protégé / RDFS / OWL / ++
Building Trustworthy Semantic Webs
Tutorial on Semantic Web
Bus Routes.
Web Ontology Language: OWL
ece 720 intelligent web: ontology and beyond
Web Ontology Language: OWL
Linking Guide Michel Böhms.
LD/SW Modelling and Linking Guide modelling styles Michel Böhms
Linking Background Information
Knowledge Representation Part VII Protégé / RDFS / OWL / ++
ece 720 intelligent web: ontology and beyond
Presentation transcript:

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

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

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

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

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

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

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) September 3, 2015 Michel Böhms Linking Guide 7

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) AND 3. Same as: x:A owl:EquivalentProperty y:B (symmetric) September 3, 2015 Michel Böhms Linking Guide 8

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

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

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

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

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