ontology engineering for the semantic web
play

Ontology Engineering for the Semantic Web COMP60421 Sean Bechhofer - PowerPoint PPT Presentation

Ontology Engineering for the Semantic Web COMP60421 Sean Bechhofer and Bijan Parsia University of Manchester 1 Monday, 12 November 2012 1 Organisational COMP60421 is taught by: 1.Bijan Parsia and 2.Sean Bechhofer Prerequisites :


  1. Solution: XML markup with “meaningful” tags? <name> WWW2002 The eleventh internati o nal w o rld wide webc o n </ name> <date> 7-11 may 2002 </date> <location> Sherat o n waikiki h o tel H o n o lulu, hawaii, USA </location> <introduction> Register n o w On the 7 th May H o n o lulu will pr o vide the bac kdr o p o f the eleventh internati o nal w o rld wi de web c o nference. This prestigi o us event … Speakers c o nfirmed </introduction> <speaker> Tim berners-lee <bio> Tim is the well kn o wn invent o r o f the Web, </bio> … </speaker> <speaker> Tim berners-lee <bio> Tim is the well kn o wn invent o r o f the Web, </bio> … </speaker> <registration> Registered participants c o ming fr o m australia, canada, chile denmark, france, germany, ghana, h o ng k o ng, india, irelan d, italy, japan, malta, new zealand, the netherlands, n o rway, singap o re, switzerland, the united kingd o m, the united states, vietn am, zaire <registration> Monday, 12 November 2012 15

  2. But What About … ? <conf> WWW2002 The eleventh internati o nal w o rld wide webc o n <c onf> <date> 7-11 may 2002 </date> <place> Sherat o n waikiki h o tel H o n o lulu, hawaii, USA <place> <introduction> Register n o w On the 7 th May H o n o lulu will pr o vide the bac kdr o p o f the eleventh internati o nal w o rld wi de web c o nference. This prestigi o us event … Speakers c o nfirmed </introduction> <speaker> Tim berners-lee <bio> Tim is the well kn o wn invent o r o f the Web, </bio> … </speaker> <speaker> Tim berners-lee <bio> Tim is the well kn o wn invent o r o f the Web, </bio> … </speaker> <registration> Registered participants c o ming fr o m australia, canada, chile denmark, france, germany, ghana, h o ng k o ng, india, irelan d, italy, japan, malta, new zealand, the netherlands, n o rway, singap o re, switzerland, the united kingd o m, the united states, vietn am, zaire <registration> Monday, 12 November 2012 16

  3. Still the Machine only sees … < c o nf > WWW2002 The eleventh internati o nal w o rld wide webc o n < c o nf > < date > 7-11 may 2002 </ date > < place > Sherat o n waikiki h o tel H o n o lulu, hawaii, USA < place > < intr o ducti o n > Register n o w On the 7 th May H o n o lulu will pr o vide the bac kdr o p o f the eleventh internati o nal w o rld wi de web c o nference. This prestigi o us event … Speakers c o nfirmed </ intr o ducti o n > < speaker > Tim berners-lee < bi o > Tim is the well kn o wn invent o r o f the Web , </ bi o > … </ speaker > < speaker > Tim berners-lee < bi o > Tim is the well kn o wn invent o r o f the Web , </ bi o > … </ speaker > < registrati o n > Registered participants c o ming f r o m australia, canada, chile denmark, france, germany, ghana, h o ng k o ng, india, irelan d, italy, japan, malta, new zealand, the netherlands, n o rway, singap o re, switzerland, the united kingd o m, the united states, vietn am, zaire < registrati o n > Monday, 12 November 2012 17

  4. Need to Add “Semantics” • External agreement on meaning of annotations – E.g., Dublin Core for annotation of library/bibliographic information • Agree on the meaning of a set of annotation tags – Problems with this approach • Inflexible Machine Processable • Limited number of things can be expressed not • Use Vocabularies or Ontologies to specify meaning of annotations – Ontologies provide a vocabulary of terms Machine Understandable – New terms can be formed by combining existing ones • “Conceptual Lego” – Meaning (semantics) of such terms is formally specified Monday, 12 November 2012 18

  5. KR: Cloth Weaves [Maier & Warren, Computing with Logic, 1988] • An example showing how we can represent the qualities and characteristics of cloth types using a simple propositional logic knowledge base. 19 Monday, 12 November 2012 19

  6. Cloth • Woven fabrics consist of two sets of threads interlaced at right angles. • The warp threads run the length of the fabric • The weft (fill, pick or woof) threads are passed back and forth between the warp threads. • When weaving, the warp threads are raised or lowered in patterns, leading to different weaves. • Factors include: – The pattern in which warps and wefts cross – Relative sizes of threads – Relative spacing of threads – Colours of threads 20 Monday, 12 November 2012 20

  7. Plain Weave • Over and under in a regular fashion 21 Monday, 12 November 2012 21

  8. Twill Weave • Warp end passes over more than one weft – Known as “floats” • Successive threads offset by 1 22 Monday, 12 November 2012 22

  9. Satin Weave • Longer “floats” • Offsets larger than 1 23 Monday, 12 November 2012 23

  10. Classifying Cloth • The example provides a number of rules that describe how particular kinds of cloth are described. • alternatingWarp ! plainWeave – If a piece of cloth has alternating warp, then it’s a plain weave. • hasFloats, warpOffsetEq1 ! twillWeave – If a piece of cloth has floats and a warp offset of 1, then it’s a twill weave. • There are many other properties concerning the colour of threads, spacings etc. Monday, 12 November 2012 24

  11. Using the Rules • We could use these rules to build a system that would be able to recognise different kinds of cloth through recognising the individual characteristics. • The example given shows that once we have recognised the following characteristics – diagonalTexture – floatGTSink – colouredWarp – whiteFill • Then we can determine that this cloth is denim. 25 Monday, 12 November 2012 25

  12. Knowledge Representation • Although this is relatively simple (in terms of both the expressivity of the language used and the number of facts), this really is an example of Knowledge Representation. – The rules represent some knowledge about cloth -- objects in the real world – Together they form a knowledge base – The knowledge base along with some deductive framework allow us to make inferences (which we hope reflect the characteristics/behaviour of the real world objects) 26 Monday, 12 November 2012 26

  13. What is a Knowledge Representation? • Davis, Shrobe & Szolovits – http://groups.csail.mit.edu/medg/ftp/psz/k-rep.html • Surrogate – That is, a representation • Expression of ontological commitment – of the world • Theory of intelligent reasoning – and our knowledge of it • Medium of efficient computation – that is accessible to programs • Medium of human expression – and usable 27 Monday, 12 November 2012 27

  14. KR as Surrogate • Reasoning is an internal process, while the things that we wish to reason about are (usually) external • A representation acts as a surrogate, standing in for things that exist in the world. – Reasoning operates on the surrogate rather than the things • Surrogates can serve for tangible and intangible objects – Bicycles, cats, dogs, proteins – Actions, processes, beliefs 28 Monday, 12 November 2012 28

  15. KR as Surrogate • What is the correspondence between the representation and the things it is intended to represent? – Semantics • How close is the representation? – What’s there? – What’s missing? • Representations are not completely accurate – Necessarily abstractions – Simplifying assumptions will be present • Imperfect representation means that incorrect conclusions are inevitable. • We can ensure that our reasoning processes are sound – Only guarantees that the reasoning is not the source of the error. 29 Monday, 12 November 2012 29

  16. KR as Set of Ontological Commitments • A representation encapsulates a collection of decisions about what to see in the world and how to see it. • Determine the parts in focus and out of focus – Necessarily so because of the imperfection of representation • Choice of representation • Commitments as layers • KR != Data Structure – Representational languages carry meaning – Data structures may be used to implement representations – Semantic Nets vs. graphs 30 Monday, 12 November 2012 30

  17. KR as Fragmentary Theory of Intelligent Reasoning • Incorporates only part of the insight or belief • Insight or belief is only part of the phenomenon of intelligent reasoning • Intelligent inference – Deduction • Sanctioned inferences – What can be inferred • Recommended inferences – What should be inferred 31 Monday, 12 November 2012 31

  18. KR as Medium for Efficient Computation • To use a representation, we must compute with it. • Programs have to work with representations – The representation management system is a component in a larger system – If the representation management system is inefficient, programmers will compensate • Representations get complex quickly – People need prosthetics to work well with them 32 Monday, 12 November 2012 32

  19. KR as Medium of Human Expression • Representations as the means by which we – express things about the world; – tell the machine about the world; – tell one another about the world • Representations as a medium for communication and expression by us. – How general is it? – How precise is it? – Is the expressiveness adequate? • How easy is it for us to talk or think in the representation language? – How easy is it? vs. can we? 33 Monday, 12 November 2012 33

  20. Ontologies • Metadata – Resources marked-up with descriptions of their content. No good unless everyone speaks the same language ; • Terminologies – Provide shared and common vocabularies of a domain, so search engines, agents, authors and users can communicate. No good unless everyone means the same thing ; • Ontologies – Provide a shared and common understanding of a domain that can be communicated across people and applications, and will play a major role in supporting information exchange and discovery. 34 Monday, 12 November 2012 34

  21. Ontology • A representation of the shared background knowledge for a community • Providing the intended meaning of a formal vocabulary used to describe a certain conceptualisation of objects in a domain of interest • In CS, ontology taken to mean an engineering artefact • A vocabulary of terms plus explicit characterisations of the assumptions made in interpreting those terms • Nearly always includes some notion of hierarchical classification (is-a) • Richer languages allow the definition of classes through description of their characteristics – Introduce the possibility of using inference to help in management and deployment of the knowledge. 35 Monday, 12 November 2012 35

  22. Ontologies and Ontology Representations • “Ontology” – a word borrowed from philosophy – But we are necessarily building logical systems • “Concepts” and “Ontologies”/ “conceptualisations” in their original sense are psychosocial phenomena – We don’t really understand them • “Concept representations” and “Ontology representations” are engineering artefacts – At best approximations of our real concepts and conceptualisations (ontologies) • And we don’t even quite understand what we are approximating 36 Monday, 12 November 2012 36

  23. Ontologies and Ontology Representations (cont) • Most of the time we will just say “concept” and “ontology” but whenever anybody starts getting religious, remember … – It is only a representation! • We are doing engineering, not philosophy – although philosophy is an important guide • There is no one way! – But there are consequences to different ways • and there are wrong ways – and better or worse ways for a given purposes – The test of an engineering artefact is whether it is fit for purpose • Ontology representations are engineering artefacts 37 Monday, 12 November 2012 37

  24. A Spectrum of Representation Formal Value is-a Restrictions Thesauri Catalogue Expressive Frames Terms/ Informal Logics glossary is-a 38 Monday, 12 November 2012 38

  25. Building a Semantic Web • Annotation – Associating metadata with resources • Integration – Integrating information sources • Inference – Reasoning over the information we have. – Could be light-weight (taxonomy) – Could be heavy-weight (logic-style) • Interoperation and Sharing are key goals 39 Monday, 12 November 2012 39

  26. A Semantic Web — First Steps Make web resources more accessible to automated processes • Extend existing rendering markup with semantic markup – Metadata annotations that describe content/function of web accessible resources • Publish information semantically • Use Ontologies to provide vocabulary for annotations – “Formal specification” is accessible to machines • A prerequisite is a standard web ontology language – Need to agree common syntax before we can share semantics – Syntactic web based on standards such as HTTP and HTML 40 Monday, 12 November 2012 40

  27. Languages • Work on Semantic Web has concentrated on the definition of a collection or “stack” of languages. – These languages are then used to support the representation and use of metadata. • The languages provide basic machinery that we can use to represent the extra semantic information needed for the Semantic Web – XML – RDF – RDF(S) OWL Inference – OWL – … Integration Integration RDF(S) Annotation RDF XML 41 Monday, 12 November 2012 41

  28. So why is it hard? • Ontologies are tricky – People do it too easily; People are not logicians • Intuitions hard to formalise • Ontology languages are tricky – “All tractable languages are useless; all useful languages are intractable” • The evidence – The problem has been about for 3000 years • But now it matters! • The semantic web means knowledge representation matters 42 Monday, 12 November 2012 42

  29. Ontology Engineering • How do we build ontologies that are – Fit for purpose? (and what does that mean?) – Extensible? – Flexible? – Maintainable? • Methodologies and guidelines – Knowledge acquisition – Ontology patterns – Normalisation – Upper level ontologies 43 Monday, 12 November 2012 43

  30. Applications of Ontologies • How do we use ontologies in applications? • What are the services that we require? • How do we make use of the knowledge • What added value do they bring? 44 Monday, 12 November 2012 44

  31. Tools and Services • Given key role of ontologies in the Semantic Web, it will be essential to provide tools and services to help users: – Design and maintain high quality ontologies, e.g.: § Meaningful — all named classes can have instances § Correct — captured intuitions of domain experts § Minimally redundant — no unintended synonyms § Richly axiomatised — (sufficiently) detailed descriptions – Store (large numbers) of instances of ontology classes, e.g.: § Annotations from web pages – Answer queries over ontology classes and instances, e.g.: § Find more general/specific classes § Retrieve annotations/pages matching a given description – Integrate and align multiple ontologies Monday, 12 November 2012 45

  32. Description Logics • A family of Knowledge Representation Languages that allow us to represent domains in terms of classes, properties and individuals • DLs have been used as the theoretical underpinnings of OWL: a standardised Ontology Language for the Web. • DLs have a well-defined semantics, allowing us to perform reasoning and inference over DL Knowledge bases. – Tableaux based reasoning techniques – Highly optimised implementations • DL Reasoning can help in supplying (some of) the services required to support knowledge engineering. Monday, 12 November 2012 46

  33. Extra Logical Services • Reasoning isn’t everything • Additional Extra-logical Services services are required in order to support our tasks • Lexical – Labels, annotations • Explanation and Debugging – Why did a particular consequence or inference occur? • Supporting engineering – OntoClean 47 Monday, 12 November 2012 47

  34. The Semantic Web • Knowledge Representation has been studied for many years – What’s different about the Semantic Web? • Scale – Billions of pages/resources out there – Acquiring knowledge is hard – Dealing with knowledge is hard (complexity) • Open-ness – No centralised control – Many different users with different perspectives – Conflicting viewpoints • Heterogeneity – Different representations, formats, viewpoints. 48 Monday, 12 November 2012 48

  35. Semantic Web • Change and Evolution – Views of the world change – Again multiple viewpoints impact here • Trust, Authority and Security – Who do I believe? – Who should I believe? – What mechanisms are there to restrict the use of knowledge? • Privacy – Am I allowing others to make inferences about me or my data? • Identity and Reference – How do I manage reference to non-information resources? 49 Monday, 12 November 2012 49

  36. Beware • DLs/OWL are not all of Knowledge Representation • Knowledge Representation is not all of the Semantic Web • The Semantic Web is not all of Knowledge Management • The field is still full of controversies • This course unit is to teach you about implementation in OWL 50 Monday, 12 November 2012 50

  37. An Introduction to OWL Monday, 12 November 2012 51

  38. Web Ontology Language • OWL is a logic based language – Core is the description logic SROIQ – A decidable fragment of first order logic (FOL) • A superset of propositional logic – Sort of • OWL is more than (standard) logic – Annotations – Datatypes (SROIQ(D) – An “interesting” non-fragment (OWL Full) – Funky (non-variable) syntax • And syntaxes – Counting quantifiers – Ontology management – Metamodelling – And more! Monday, 12 November 2012 52

  39. OWL • A “class-object” oriented language – But not a programming language! – OWL classes are not much like Java classes • Learn the differences! • Model the world – Not (primarily) model of data • Inference is a key notion – Descriptive not prescriptive – Not all implicit information is obvious – Inference/reasoning/entailment supports modelling – Standard inference services • Consistency checking • Class satisfiability • Classification/Subumption • Realization/Instantiation Monday, 12 November 2012 53

  40. Standardised Language • OWL is defined by a set of W3C recommendations – Working group page: • http://www.w3.org/2007/OWL/wiki/OWL_Working_Group – Document Overview: • http://www.w3.org/TR/2009/REC-owl2-overview-20091027/ – Structural Specification and Functional-Style Syntax (SFS): • http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/ • Your key text • 5 core syntaxes – Functional syntax (“hub” syntax) – Manchester syntax (in Protege) – RDF/XML (canonical “exchange” syntax) • And variants such as Turtle – XML Serialization (for you 60411ers) – “German”/DL Syntax (aka, logic syntax) Monday, 12 November 2012 54

  41. http://www.w3.org/TR/2009/REC-owl2-overview-20091027/ Monday, 12 November 2012 55

  42. More specification • OWL Semantics – http://www.w3.org/TR/2009/REC-owl2-direct-semantics-20091027/ – Given in terms of model theory • Alternative semantic presentations • OWL Primer – http://www.w3.org/TR/2009/REC-owl2-primer-20091027/ – A gentle, if flawed, introduction • Working through the primer is a good idea! • By week 2 – You should be fluent with the SFS – You should be dipping a toe into the Semantics Monday, 12 November 2012 56

  43. Come back to these slides • You should not fully understand most points – Yet – You should by the end of the course – Come back to check your understanding Monday, 12 November 2012 57

  44. A Learning Theory Aside • Clickers – Learning works best when you are active • “Oh! I anticipate the next point” • “Hmm. Isn’t it the other way around? Oh, wait, I see.” • “I could use that to do x” – Clicker questions provide mode switches • And some guidance to what to think about – So please answer! • But also other discussion would be terrific! • Pedagogic content knowledge – “How to learn ontology engineering/OWL” – The Language (and the Specification) – The Design (and Design Space) – Modelling – Application Monday, 12 November 2012 58

  45. Core Notions Building blocks and lego pieces Monday, 12 November 2012 59

  46. An OWL ontology • Fundamentally, a set of axioms – It can have a name – It can have annotations • Metadata about the ontology – Author, date last modified, rights, etc. – Other versions • Structurally – An ontology (O) • has a (possibly empty) set of axioms • has a (possibly empty) set of imported ontologies • the logical content of O is the union of the axiom sets of each of the ontologies in the imports closure plus that of O • Physically – Ontologies are represented as documents in a particular syntax Monday, 12 November 2012 60

  47. ontologyDocument := { prefixDeclaration } Ontology prefixDeclaration := 'Prefix' '(' prefixName '=' fullIRI ')' Ontology := 'Ontology' '(' [ ontologyIRI [ versionIRI ] ] directlyImportsDocuments ontologyAnnotations axioms ')' ontologyIRI := IRI versionIRI := IRI directlyImportsDocuments := { 'Import' '(' IRI ')' } axioms := { Axiom } Monday, 12 November 2012 61

  48. Ontology 1 (FS & MS) Ontology(<http://www.example.com/ontology1> Import(<http://www.example.com/ontology2> ) Annotation( <http://www.w3.org/2000/01/rdf-schema#label> "An example" ) SubClassOf( <http://www.example.com/ontology1#Child> <http://www.w3.org/2002/07/owl#Thing> ) ) Ontology: <http://www.example.com/ontology1> Import: <http://www.example.com/ontology2> Annotations: <http://www.w3.org/2000/01/rdf-schema#label> "An example" AnnotationProperty: <http://www.w3.org/2000/01/rdf-schema#label> Class: owl:Thing Class: <http://www.example.com/ontology1#Child> SubClassOf: <http://www.w3.org/2002/07/owl#Thing> Monday, 12 November 2012 62

  49. Ontology 2 (FS & MS) Ontology(<http://www.example.com/ontology2> SubClassOf( <http://www.example.com/ontology1#Adult> <http://www.w3.org/2002/07/owl#Thing> ) ) Ontology: <http://www.example.com/ontology2> Class: owl:Thing Class: <http://www.example.com/ontology1#Adult> SubClassOf: <http://www.w3.org/2002/07/owl#Thing> Monday, 12 November 2012 63

  50. Ontology 2 with short names (FS & MS) Prefix(owl:=<http://www.w3.org/2002/07/owl#>) Prefix(:=<http://www.example.com/ontology2#>) Ontology(<http://www.example.com/ontology2> SubClassOf(:Adult owl:Thing) ) Prefix: owl: <http://www.w3.org/2002/07/owl#> Ontology: <http://www.example.com/ontology2> Class: owl:Thing Class: <http://www.example.com/ontology2#Adult> SubClassOf: owl:Thing Monday, 12 November 2012 64

  51. Logical Content of Ontology 1 SubClassOf( :Child owl:Thing) SubClassOf( :Adult owl:Thing ) • No real logical content! – Everything is a SubClassOf Thing – But you get the idea • We could say something substantive – DisjointClasses(:Child :Adult) • We could say something substantive and wrong – DisjointClasses(:Adult :Adult) • A reasoner would barf! – If :Adult is disjoint from itself, then nothing can be an :Adult Monday, 12 November 2012 65

  52. 3 basic categories • Entities – Things with a name • (Ontologies are a special case) • By abuse (both ways) of notation...terms – Names are IRIs (URIs/URLs) • Which may be abbreviated in different ways in different syntaxes – The set of entities/names in an ontology form its signature • (For logical purposes, we ignore annotation entities!) • Expressions (or descriptions) – Complex (or compound) descriptions of entities – Entities can be thought of as degenerate expressions • Axioms – Declarative statements (presumed true) Monday, 12 November 2012 66

  53. Entity types • Individuals (instances, logical constants) – We can have “anonymous” individuals • Classes (concepts, unary/monadic predicates) – “Sets”, or rather “kinds” or “categories” of individuals • Literals (data values, values, concrete individuals) – 1, 2, 3, “hi there!”, etc. • Datatypes (unary data predicates) – Integers greater than 5, strings beginning with “a” • Properties (roles, relations, binary predicates) – Object properties (individual to individual) • loves, eats, knows – Data properties (individual to data value) • age, weight, price – Annotation properties Monday, 12 November 2012 67

  54. The World of OWL Individuals (particulars) Monday, 12 November 2012 68

  55. The World of OWL Classes (categories of People individuals) Non living Sinks Musical Computers Instruments Monday, 12 November 2012 69

  56. The World of OWL Data Values People Non living Sinks 5.6 “one” 2 1 2000 “hi there” Musical Computers Instruments Monday, 12 November 2012 70

  57. The World of OWL Data Types (categories of values) People Non living Sinks 5.6 Decimals 2 1 Integers 2000 “one” “hi there” Musical Computers Strings Instruments Monday, 12 November 2012 71

  58. The World of OWL Properties (relations) owns 5.6 obsoletes 2 1 2000 costs “one” “hi there” plays Monday, 12 November 2012 72

  59. Expressions • For each entity type, – we have a corresponding expression language – with different expressivity – the concept language is (arguably) the richest • reflects history • We can describe a class (child) – as anything which is not an adult – as a sort of person – as anthing with an age 14 (or 21) – as anything having a parent – as anything attending school • And elaborate – we can describe “only child” as child (as above) with 0 siblings Monday, 12 November 2012 73

  60. Axioms • For each entity/expression type – we have characteristic axioms – can relate same entity/expressions or different • class to class (SubClassOf) • individual to class (ClassAssertion) • property to property (SubPropertyOf) • features of properties (Functional, Transitive) • etc. • An ontology is consistent ifff – every axiom in the axiom closure can be simultaneously true – i.e., there are no axiom “conflicts” – it has a “model” • The more we say in our ontology – the closer we get to inconsistency – inconsistency is “saying too much” Monday, 12 November 2012 74

  61. Basic Axioms All things atomic Monday, 12 November 2012 75

  62. Let’s pretend • That the only sort of expression we have are atomic – I.e., entities • We assume the owl: and default prefixes – And any other convenient prefixes • We presume two built in entities – owl:Thing – owl:Nothing • All axioms occur in the some ontology • I won’t cover everything – We don’t need to pretend this! – See the SFS document for everything! – More next time as well • But read up! Monday, 12 November 2012 76

  63. Class Axioms • Class axioms express “relations between” descriptions – Remember, right now our only descriptions are atomic/names • We have three primary sorts of class axiom – Subsumption – Equivalence – Disjointness • The set of class axioms form the TBox – “Terminological Box” – Set of “term relations” or “definitions” – The “intentional part” – Roughly, the “schema” • But it’s not a schema like WXS or a relational schema! • Historically the most used and developed part Monday, 12 November 2012 77

  64. (Class) Subsumption (Class) Subsumption FS SubClassOf(:Automobile :Vehicle) MS Class: Automobile SubClassOf: Vehicle NL All Automobiles are Vehicles. Every Automobile is a Vehicle. If something is an Automobile then it is a Vehicle. A necessary condition of being an Automobile is being a Vehicle. FOL ∀ x(Automobile(x) � Vehicle(x)) DL Automobile ⊑ Vehicle Monday, 12 November 2012 78

  65. Anatomy of an Axiom (Class) Subsumption FS SubClassOf(:Automobile :Vehicle) Connective Arguments (Functor) MS Class: Automobile SubClassOf: Vehicle Connective Arguments DL Automobile ⊑ Vehicle Connective Arguments If all the arguments are names then the axiom is atomic Monday, 12 November 2012 79

  66. (Class) Equivalence (Class) Equivalence FS EquivalentClasses(:Automobile :Car) MS Class: Automobile EquivalentTo: Car NL All Automobiles are cars and vice versa. Automobiles is another name for car. Something is an Automobile if and only iff it is a Car. A necessary and sufficient condition of being an Automobile is being a Car. FOL ∀ x(Automobile(x) ↔ Car(x)) DL Automobile ≡ Car (varies) • N-ary! – EquivalentClasses(:Automobile :Car :Autocar) • Transitive • Expressible as subsumptions Monday, 12 November 2012 80

  67. (Class) Disjointness (Class) Disjointness FS DisjointClasses(:Automobile :Bicycle) MS Class: Automobile DisjointWith: Bicycle NL All Automobiles are not bicycles. Every Automobile is not a bicycle. If something is an Automobile then it is not a bicycle. A necessary condition of being an Automobile is not being a bicycle. FOL ∀ x(Automobile(x) � ¬Bicycle(x)) DL Automobile ⊑ ¬Bicycle Disj(Automobile, Bicycle)(varies) • N-ary! – Pairwise disjointness • Not expressible as atomic subsumptions! – New expressivity Monday, 12 November 2012 81

  68. Class/Subsumption Graph • The set of subclass and equivalence axioms – Induce a class hierarchy • Also known as the subsumption hierarchy, class graph, etc. • The “taxonomic structure” of the ontology – The hierarchy can have many different shapes • With a directed acyclic graph as the most general shape • Why no cycles?! Monday, 12 November 2012 82

  69. Two Class Graphs Monday, 12 November 2012 83

  70. Entailment! • Even with this little bit: – Class names only – Subsumption, Equivalence, and Disjointness axioms • We can derive from explicit axioms – implicit subsumptions – implict equivalences – implicit disjointness – class unsatisfiability • With the built in classes (owl:Thing and owl:Nothing) – We can make our ontology inconsistent! • If our ontology O ⊨ SubClassOf(owl:Nothing, owl:Thing) – We can state unsatisfiability • SubClassOf(C, owl:Nothing) • But we can do it all by chasing links in the graph Monday, 12 November 2012 84

  71. Object Property Axioms • Property axioms express “relations between” descriptions – Remember, right now our only descriptions are atomic, i.e., names • We have three primary sorts of (object) property axiom – Subsumption – Equivalence – Disjointness • And loads more! – Inverse, transitivity, domain, and range – EVEN MORE! (but later) • The set of object property axioms form the RBox • Historically rather neglected – OWL 2 significantly beefs these up Monday, 12 November 2012 85

  72. (Object Property) Subsumption (Object Property) Subsumption FS SubObjectPropertyOf(:hasDirectPart :hasPart) MS ObjectProperty: hasDirectPart SubClassOf: hasPart NL Everything that has a direct part has it as a part. If something has a direct part then it has it as part. A necessary condition of having an direct part is having it as a part FOL ∀ x ∀ y(hasDirectPart(x,y) � hasPart(x,y)) DL hasDirectPart ⊑ hasPart • English is a bit stilted here! • I leave object property equivalence and disjointness to your good efforts Monday, 12 November 2012 86

  73. Inverse Properties Inverse Object Properties FS InverseObjectProperties(:hasPart :isPartOf) MS ObjectProperty: hasPart InverseOf: isPartOf NL FOL ∀ x ∀ y(hasPart(x,y) ↔ isPartOf(y,x)) DL hasPart ≡ isPartOf - hasPart ≡ inv(isPartOf) • Note that in DL syntax: – We have only an operator, not an axiom type – OWL 2 has an inverse operator as well... Monday, 12 November 2012 87

  74. Transitive Properties Transitive Object Properties FS TransitiveObjectProperty(:hasPart) MS ObjectProperty: hasPart Characteristics: Transitive NL FOL ∀ x ∀ y ∀ z(hasPart(x,y) ∧ hasPart(y,z) � hasPart(x,z)) DL Trans(hasPart)(varies) • Very powerful feature – “Danger, danger!” • Note the additional variable Monday, 12 November 2012 88

  75. Domain and Range axioms Domain FS ObjectPropertyDomain(:drives :Person) MS ObjectProperty: drives Domain: Person NL FOL ∀ x ∀ y(drives(x,y) � Person(x)) DL ∃ drives. ⊤ ⊑ Person Range FS ObjectPropertyRange(:drives :Car) MS ObjectProperty: drives Range: Car NL FOL ∀ x ∀ y(drives(x,y) � Car(y)) DL ∃ drives - . ⊤ ⊑ Car Monday, 12 November 2012 89

  76. “Global restrictions” • Domain and Range – Relate properties and classes – “Type the link” • Uses up the property – The “globalness” – Anything that drives is a Person. – Anything that is driven is a Car. • No trucks or trains! • Multiple statements interpreted conjunctively – P Domain: C – P Domain: D – Anything that Ps is both a C and a D Monday, 12 November 2012 90

  77. Assertions • Assertions express “facts” – About individuals, their membership in classes, and their relations – We have individual names • And “anonymous” individuals (WEIRDNESS!) • We have three primary forms of assertion – Class Assertions – Property Assertions (positive and negative) – (In)equalities • The set of Assertions are called the ABox – The “extensional” part – The “database” Monday, 12 November 2012 91

  78. Class Assertions Class Assertion FS ClassAssertion(:Automobile :RogerTheCar) MS Individual: RogerTheCar Types: Automobile NL Roger is a Car. My car’s name is Roger. FOL Automobile(RogerTheCar) DL RogerTheCar:Automobile Monday, 12 November 2012 92

  79. Object Property Assertions Positive & Negative Object Assertions FS ObjectPropertyAssertion( :drives :Uli :RogerTheCar ) NegativeObjectPropertyAssertion( :drives :Bijan :RogerTheCar) MS Individual: Uli Facts: drives RogerTheCar Individual: Bijan Facts: not drives RogerTheCar NL Uli drives her car, Roger. Bijan doesn’t FOL drives(Uli, RogerTheCar) ¬drives(Bijan, RogerTheCar) DL <Uli,RogerTheCar>:drives (no standard way) Monday, 12 November 2012 93

  80. (In)Equality (In)Equality FS SameIndividual(RogerTheCar Roggie) DifferentIndividuals(RogerTheCar MaudeTheBicycle) MS Individual: RogerTheCar SameAs: Roggie DifferentFrom: MaudeTheBicycle NL Roger is the same car as Roggie. But Maude is not Roger FOL RogerTheCar = Roggie RogerTheCar ≠ MaudeTheBicycle DL RogerTheCar = Roggie RogerTheCar ≠ MaudeTheBicycle Monday, 12 November 2012 94

  81. ABox Shape • ABoxes form a “relational structure” – Arbitrary finite graph – Love triangle! • Joseph Facts: loves Inès. • Inès Facts: loves Estelle • Estelle Facts: loves Joseph Monday, 12 November 2012 95

  82. ENTAILMENT!!!! • We can get even more! – Interactions between • the class graph (TBox) • the property graph (RBox) • the individual graph (ABox) • plus Domain and Range axioms • Still “chasable” – Though extra care needed Monday, 12 November 2012 96

  83. Data Everything • Lots of built in types – I.e., predefined names – Real Numbers (owl:real, owl:rational, xsd:decimals, et al) – Floats – Strings, Booleans, Time instants, binary, XML... • Data Properties – Subsumption, Equivalence, Disjointness, Domain, & Range – No inverse or transitive! • Data Assertions – Extra ABox joy – Data values (literals, data “individuals”) have predefined names • 1, 2, 3, 4,... • Datatypes and values have predefined meaning! Monday, 12 November 2012 97

  84. Property Assertions Positive & Negative Data Assertions FS DataPropertyAssertion( :age :RogerTheCar "5"^^xsd:integer ) NegativeDataPropertyAssertion( :age :RogerTheCar "10"^^xsd:integer) MS Individual: RogerTheCar Facts: age 5, not age 10 NL My car Roger’s age is 5 and not 10. FOL age(RogerTheCar, 5) ¬age(RogerTheCar, 10) DL <RogerTheCar, 5>:age (no standard way) Monday, 12 November 2012 98

  85. Atomic Summary • Class Axioms – SubClassOf, EquivalentTo, DisjointWith – DAG of terms – Can express unsatisfiability and inconsistency • Property Axioms – SubPropertyOf EquivalentTo, DisjointWith – Transitive, Inverse – Domain and Range • Assertions – ClassAssertions, PropertyAssertions, Inequality – Can express inconsistency • Data variants – But only predefined names Monday, 12 November 2012 99

  86. Less Basic Notions Express yourself! Monday, 12 November 2012 100

Recommend


More recommend