Solution: XML markup with “meaningful” tags? <name> WWW2002 The eleventh internati o nal w o rld wide webc o n </ name> <date> 7-11 may 2002 </date> <location> Sherat o n waikiki h o tel H o n o lulu, hawaii, USA </location> <introduction> Register n o w On the 7 th May H o n o lulu will pr o vide the bac kdr o p o f the eleventh internati o nal w o rld wi de web c o nference. This prestigi o us event Speakers c o nfirmed </introduction> <speaker> Tim berners-lee <bio> Tim is the well kn o wn invent o r o f the Web, </bio> … </speaker> <speaker> Tim berners-lee <bio> Tim is the well kn o wn invent o r o f the Web, </bio> … </speaker> <registration> Registered participants c o ming fr o m australia, canada, chile denmark, france, germany, ghana, h o ng k o ng, india, irelan d, italy, japan, malta, new zealand, the netherlands, n o rway, singap o re, switzerland, the united kingd o m, the united states, vietn am, zaire <registration> Monday, 12 November 2012 15
But What About … ? <conf> WWW2002 The eleventh internati o nal w o rld wide webc o n <c onf> <date> 7-11 may 2002 </date> <place> Sherat o n waikiki h o tel H o n o lulu, hawaii, USA <place> <introduction> Register n o w On the 7 th May H o n o lulu will pr o vide the bac kdr o p o f the eleventh internati o nal w o rld wi de web c o nference. This prestigi o us event Speakers c o nfirmed </introduction> <speaker> Tim berners-lee <bio> Tim is the well kn o wn invent o r o f the Web, </bio> … </speaker> <speaker> Tim berners-lee <bio> Tim is the well kn o wn invent o r o f the Web, </bio> … </speaker> <registration> Registered participants c o ming fr o m australia, canada, chile denmark, france, germany, ghana, h o ng k o ng, india, irelan d, italy, japan, malta, new zealand, the netherlands, n o rway, singap o re, switzerland, the united kingd o m, the united states, vietn am, zaire <registration> Monday, 12 November 2012 16
Still the Machine only sees … < c o nf > WWW2002 The eleventh internati o nal w o rld wide webc o n < c o nf > < date > 7-11 may 2002 </ date > < place > Sherat o n waikiki h o tel H o n o lulu, hawaii, USA < place > < intr o ducti o n > Register n o w On the 7 th May H o n o lulu will pr o vide the bac kdr o p o f the eleventh internati o nal w o rld wi de web c o nference. This prestigi o us event Speakers c o nfirmed </ intr o ducti o n > < speaker > Tim berners-lee < bi o > Tim is the well kn o wn invent o r o f the Web , </ bi o > … </ speaker > < speaker > Tim berners-lee < bi o > Tim is the well kn o wn invent o r o f the Web , </ bi o > … </ speaker > < registrati o n > Registered participants c o ming f r o m australia, canada, chile denmark, france, germany, ghana, h o ng k o ng, india, irelan d, italy, japan, malta, new zealand, the netherlands, n o rway, singap o re, switzerland, the united kingd o m, the united states, vietn am, zaire < registrati o n > Monday, 12 November 2012 17
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
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
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
Plain Weave • Over and under in a regular fashion 21 Monday, 12 November 2012 21
Twill Weave • Warp end passes over more than one weft – Known as “floats” • Successive threads offset by 1 22 Monday, 12 November 2012 22
Satin Weave • Longer “floats” • Offsets larger than 1 23 Monday, 12 November 2012 23
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
An Introduction to OWL Monday, 12 November 2012 51
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
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
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
http://www.w3.org/TR/2009/REC-owl2-overview-20091027/ Monday, 12 November 2012 55
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
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
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
Core Notions Building blocks and lego pieces Monday, 12 November 2012 59
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
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
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
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
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
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
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
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
The World of OWL Individuals (particulars) Monday, 12 November 2012 68
The World of OWL Classes (categories of People individuals) Non living Sinks Musical Computers Instruments Monday, 12 November 2012 69
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
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
The World of OWL Properties (relations) owns 5.6 obsoletes 2 1 2000 costs “one” “hi there” plays Monday, 12 November 2012 72
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
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
Basic Axioms All things atomic Monday, 12 November 2012 75
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
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
(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
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
(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
(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
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
Two Class Graphs Monday, 12 November 2012 83
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
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
(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
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
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
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
“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
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
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
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
(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
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
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
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
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
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
Less Basic Notions Express yourself! Monday, 12 November 2012 100
Recommend
More recommend