1 / 35

OWL Web Ontology Language

OWL Web Ontology Language. The Knowledge Presentation Language. Web Ontology Language (OWL ).

marci
Download Presentation

OWL Web Ontology Language

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. OWLWeb Ontology Language The Knowledge Presentation Language

  2. Web Ontology Language (OWL) • Web Ontology Language (OWL) extends RDF and RDFS languages by adding several other constructs such as owl:class (in addition to the rdfs:class), relationships between class and individuals, and property characteristics • These new constructs facilitate interoperability among distributed resources • OWL is encoded in RDF/XML • OWL is said to be ‘monotonic’, meaning that addition of new information to a knowledge base does not falsify previous conclusions

  3. Owl dialects • OWL has three species (dialects): OWL-Lite, OWL DL, and OWL Full • The differences are on the limitations on restrictions on classes • OWL Lite: supports class and property hierarchies and simple restrictions, allowing us to develop thesauri and simple ontologies • OWL DLis the decidable version of OWL Full, with some limitation; it is a restricted version of RDF • OWL Fullhas no limitation, but may not be decidable

  4. Features of OWL • Is compatible with (serializable in) XML • Uses XSD datatypes • Follows description logic in having class, property, and individuals • Has constructs that are identified by the URIref • Allow us to define complex classes with Boolean combinations (intersection, union, complement) • Makes it possible to define properties and subproperties and assigning logical metadata (e.g., transitivity) • Has features to set two classes, properties, and individuals as equivalent

  5. • Allows setting the cardinality constraints • Setting classes as instances • Resources defined by it can have labels such that they can be displayed in different natural languages • Allows developing Web-distributed ontologies • Lets us import and reuse other owl code (ontologies) by extension • Allows saving the same ontologies with different versions • Allows defining metadata for ontologies (e.g., author, version)

  6. OWL ontology header info • Includes namespace declaration • Information about the ontology is put within the owl:OntologyQname, e.g., version, comments, and import • The version includes: owl:versionInfo, owl:priorVersion, owl:backwardCompatibleWith, owl:incompatibleWith, owl.deprecatedClass, and owl:deprecatedProperty • We can also use the rdfs:comment, rdfs:label, rdfs:seeAlso, and rdfs:isDefinedBy

  7. <rdf:Description rdf:about="http://www.Tectonics.org"> <rdf:type><rdf:Description rdf:about="http://www.w3.org/2002/07/owl#Ontology"/> </rdf:type> </rdf:Description> <rdf:Description rdf:about="http://www.StructuralGeology.org"> <rdf:type> <rdf:Description rdf:about="http://www.w3.org/2002/07/owl#Ontology"/> </rdf:type> <rdfs:comment>Part of Structural Geology</rdfs:comment> <rdfs:label>Structural Geology</rdfs:label> <owl:imports> <rdf:Description rdf:about="http://www.Tectonics.org"/> </owl:imports> <owl:priorVersion> <rdf:Description rdf:about="http://www.StructuralGeology.org/v0"/> </owl:priorVersion> </rdf:Description>

  8. Two Types of Property in OWL • Datatype Property has a typed literal (e.g., XSD or RDF literal ) as its range • As a binary relation, the datatype property relates a set of instances of a [domain] class to a set of instances of a datatype (range; object) • A datatype property is declared using the owl:DatatypeProperty: <length rdf:typeowl:DatatypeProperty> • Or: <owl:datatypePropertyrdf:about=“length”/>

  9. Object Property • Object property has a URIref as its range • As a binary property, it relates a set of individuals of one class to the set of individuals of another class • That is, the subject and objects of a triple using an object property are both individuals • Object properties are declared in two different ways: <analyze rdf:typeowl:ObjectProperty> or: <owl:objectPropertyrdf:about=“analyze”/>

  10. Example in N3 struc:foldDescriptionrdf:typeowl:DatatypeProperty. struc : foldDescriptionrdfs : domain struc : Fold. struc : foldDescriptionrdfs : range xsd : string. struc : foldAxisrdf : type owl : ObjectProperty. struc : foldAxisrdfs : domain struc : Fold. struc : foldAxisrdfs : range struc : Line.

  11. Domain and range of properties • Can be assigned in a short form: <owl:objectPropertyrdf:about=“infiltrate”/> <owl:domainrdf:resource=“SurfaceWater”/> <owl:rangerdf:resource=“Aquifer”/> </owl:objectProperty> Or the long way, as is shown in the following slide! <rdf:Descriptionrdf:about=":infiltrate“> <rdf:type> <rdf:Descriptionrdf:about="http://www.w3.org/2002/07/owl#ObjectProperty"/> </rdf:type> <rdfs:domain><rdf:Descriptionrdf:about=":SurfaceWater"/></rdfs:domain> <rdfs:range><rdf:Descriptionrdf:about=":Aquifer"/></rdfs:range> </rdf:Description>

  12. <?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"> <rdf:Description rdf:about=":length"> <rdf:type><rdf:Description rdf:about="http://www.w3.org/2002/07/owl#DatatypeProperty"/></rdf:type> <rdfs:domain><rdf:Description rdf:about=":Fault"/></rdfs:domain> <rdfs:range><rdf:Description rdf:about="http://www.w3.org/2001/XMLSchema#string"/></rdfs:range> </rdf:Description> <rdf:Description rdf:about=":infiltrate"> <rdf:type><rdf:Description rdf:about="http://www.w3.org/2002/07/owl#ObjectProperty"/></rdf:type> <rdfs:domain><rdf:Description rdf:about=":SurfaceWater"/></rdfs:domain> <rdfs:range><rdf:Description rdf:about=":Aquifer"/></rdfs:range> </rdf:Description> <rdf:Description rdf:about=":Fault"> <rdf:type><rdf:Description rdf:about="http://www.w3.org/2002/07/owl#Class"/></rdf:type> </rdf:Description> <rdf:Description rdf:about=":SurfaceWater"> <rdf:type><rdf:Description rdf:about="http://www.w3.org/2002/07/owl#Class"/></rdf:type> </rdf:Description> <rdf:Description rdf:about=":Aquifer"> <rdf:type><rdf:Description rdf:about="http://www.w3.org/2002/07/owl#Class"/></rdf:type> </rdf:Description> </rdf:RDF>

  13. owl:inveseOf • Properties themselves have properties • owl:inverseOf property relates two properties to each other • Many properties in one direction have an inverse property in the opposite direction • For example, the first property in each of the following pairs reverses the direction of the second property • ‘analyzes’ and ‘analyzedBy’ • ‘investigates’ and ‘investigatedBy’ • ‘hasSample’ and ‘sampleOf • ‘wrote’ and ‘writtenBy’ • ‘locatedIn’ and ‘locationOf’ • These follow the definition of the mathematical inverse function that state: if f(x) = y, then f-1(y) = x.

  14. Inference of the owl:inverseOf hasPart P owl:inverseOf Q. If x P y. Then y Q x. • Example: The partOfproperty is an inverse property struc : Fold hasPartstruc : limb. partOf owl : inveseOfstruc : hasPart. • This means that if fold has limb as part, then limb is part of fold Fold Limb x partOf y

  15. <?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"> <rdf:Description rdf:about=":Fold"><rdf:type> <rdf:Description rdf:about="http://www.w3.org/2002/07/owl#Class"/></rdf:type> </rdf:Description> <rdf:Description rdf:about=":Limb"><rdf:type> <rdf:Description rdf:about="http://www.w3.org/2002/07/owl#Class"/></rdf:type> </rdf:Description> <rdf:Description rdf:about=":partOf"><rdf:type> <rdf:Description rdf:about="http://www.w3.org/2002/07/owl#ObjectProperty"/></rdf:type> <rdfs:domain><rdf:Description rdf:about=":Limb"/></rdfs:domain> <rdfs:range><rdf:Description rdf:about=":Fold"/></rdfs:range> <owl:inverseOf><rdf:Description rdf:about=":hasPart"/></owl:inverseOf> </rdf:Description> <rdf:Description rdf:about=":hasPart"> <rdf:type> <rdf:Description rdf:about="http://www.w3.org/2002/07/owl#ObjectProperty"/> </rdf:type> </rdf:Description> </rdf:RDF>

  16. partOfowl:inverseOfhasPart

  17. owl:symmetricProperty • If the property that relates two classes is the same (has the same name) in both directions, we declare the property as symmetric • For example: ‘equals’ or ‘siblingOf’ is a symmetric property • if x is siblingOf y, then y is siblingOf x • Symmetric properties must be declared as such P rdf : type owl:SymmetricProperty. • The inference for a symmetric property is as follows: P owl:inverseOf P. • That is, the symmetric property is an inverse property.

  18. owl:transitiveProperty • In mathematics, a relation is said to be transitive if P(a,b) and P(b,c) implies P(a,c). This is represented by the owl:transitiveProperty, which applies to a property. P rdf : type owl : TransitiveProperty. •  The inference for this property is as follows: IF  x P y. y P z. THEN x P z. C part of B B part of A C part of A. A B C P P FaultBend FaultSegment Fault x y z

  19. partOf partOf FaultBend FaultSegment Fault partOf x y z • The partOf property (containment) may be transitive (not always). Finger is part of hand, and hand is part of body • However, someone’s hand is not part of the group to which the person is part of • Geologically, being fractal, faults have segments that have smaller fault segments, which have even smaller segments which are themselves fault struc:FaultSegmentstruc:partOfstruc: FaultSegment. struc:partOfrdf :type owl:TransitiveProperty. struc:FaultSegmentrdfs:subClassOfstruc:Fault.

  20. Transitive partOfpartOf owl:inverseOf hasPart

  21. <?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"> <rdf:Description rdf:about=":Fault"> <rdf:type><rdf:Description rdf:about="http://www.w3.org/2002/07/owl#Class"/></rdf:type> </rdf:Description> <rdf:Description rdf:about=":FaultSegment“> <rdf:type><rdf:Description rdf:about="http://www.w3.org/2002/07/owl#Class"/></rdf:type> </rdf:Description> <rdf:Description rdf:about=":partOf"><rdf:type> <rdf:Description rdf:about="http://www.w3.org/2002/07/owl#ObjectProperty"/></rdf:type> <rdf:type><rdf:Description rdf:about="http://www.w3.org/2002/07/owl#TransitiveProperty"/></rdf:type> <rdfs:domain><rdf:Description rdf:about=":FaultSegment"/></rdfs:domain> <rdfs:domain><rdf:Description rdf:about=":FaultBend"/></rdfs:domain> <rdfs:range><rdf:Description rdf:about=":Fault"/></rdfs:range> </rdf:Description> <rdf:Description rdf:about=":FaultBend"><rdf:type> <rdf:Description rdf:about="http://www.w3.org/2002/07/owl#Class"/></rdf:type> </rdf:Description> <rdf:Description rdf:about=":hasPart"> <rdf:type><rdf:Description rdf:about="http://www.w3.org/2002/07/owl#ObjectProperty"/></rdf:type> <rdfs:domain><rdf:Description rdf:about=":Fault"/></rdfs:domain> <rdfs:range><rdf:Description rdf:about=":FaultSegment"/></rdfs:range> <owl:inverseOf><rdf:Description rdf:about=":partOf"/></owl:inverseOf> </rdf:Description> </rdf:RDF>

  22. A B C locatedIn is transitive C locatedIn B BlocatedIn A C locatedIn A geo:locatedInrdf:typeowl:TransitiveProperty. If tect:SanAndreasFaultgeo:locatedIngeo:California. geo:Californiageo:locatedIngeo:United States. Then geo:SanAndreasFaultgeo:locatedIngeo:United States.

  23. y1 x Functional Property … p p • A functional property is a property that can haveonly one unique value y(object) for each instance x (subject) • This means that there cannot be two distinct values y1 and y2 if (x, y1) and (x, y2) are instances of the functional property If x p y1 and x p y2, then y1=y2 • Given x (subject individual) we can find y (object individual)! • Both object and datatype properties can be declared functional! • There could be many x’s, but all relate to one y • Example: husband property can be functional in some cultures: Woman husband Man (not in polygamy or same sex marriages) If x husband y1 and x husband y2, then y1=y2 If Jane husband Jack and Jane husband Jeff, then Jack=Jeff x x y x x x y2

  24. A x Inference • The owl:FunctionalProperty can only take one value for any [object] individual, allowing sameness to be inferred • The inference rule for this construct is as follows • Note: x is a subject individual and A and B are object individuals If P rdf:typeowl:FunctionalProperty. X P A X P B Then A owl:sameAs B. p p B x

  25. A property p is functional if x p y1 and x p y2imply thaty1 = y2 • We infer that the two object individuals are the same(y1owl:sameAs y2) • Note that the subjects are not asserted to be the same; only the objects are the same DaughterProductdaughterProductOfParentIsotope Sample sampleLocation Location daughterProductOf and sampleLocation are functional properties, because there is one unique value yfor x in the following triples: x sampleLocation yor x daughterProductOf y There is a unique location for each sample There is a unique ParentIsotope for each daughterProduct

  26. <?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"> <rdf:Description rdf:about=":Sample"> <rdf:type><rdf:Description rdf:about="http://www.w3.org/2002/07/owl#Class"/></rdf:type> </rdf:Description> <rdf:Description rdf:about=":Location"> <rdf:type><rdf:Description rdf:about="http://www.w3.org/2002/07/owl#Class"/></rdf:type> </rdf:Description> <rdf:Description rdf:about=":sampleLocation"> <rdf:type><rdf:Description rdf:about="http://www.w3.org/2002/07/owl#ObjectProperty"/></rdf:type> <rdf:type><rdf:Description rdf:about="http://www.w3.org/2002/07/owl#FunctionalProperty"/></rdf:type> <rdfs:domain><rdf:Description rdf:about=":Sample"/></rdfs:domain> <rdfs:range><rdf:Description rdf:about=":Location"/></rdfs:range> </rdf:Description> </rdf:RDF> sampleLocation Location Sample

  27. x1 y Inverse Functional Property • The objecty of an inverse functional property p uniquely determines the subject x (some individual) • y can only be the value for p for a single instance x • There cannot be two distinct x1 and x2 such that (x1, y) and (x2, y) are instances of p. • If there are, then x1 = x2 • Example: Woman biologicalMother Human • Each object of the biologicalMother property (i.e., each human) uniquely identifies a subject (some woman) Note: People’s name is not inverse functional (different people can have the same name) x2 p p

  28. A x Inverse Functional Property • This property is the inverse of the owl:FunctionalProperty • It is very useful for merging data from different sources • The owl:FunctionalProperty and owl:InverseFunctionalPropertyallow merging data for a same individual from different sources • The owl:InverseFunctionalPropertyis equivalent to the key in relational databases, such as SSN and driving license number • These are unique • The inference rule of this construct is as follows: P rdf:typeowl:InverseFunctionalProperty. A P X. B P X. Then A owl:sameAs B. p B p

  29. owl:InverseFunctionalProperty • If x p y, and p is inverse functional, then there can be only a single value of x for a given y, that is: • The object individual y of an owl:InverseFunctionalProperty p uniquely determines a single subject individual x • Given the object individual (y), we can find a unique subject individual (x) (i.e., x y-1) • In this case, ifx1 p y and x2 p y, then x1 and x2are the same! • If x1 ssn 123445555 and x2 ssn123445555, then x1=x2 • e.g., hasSingleAuthorArticle: a person (subject) may have many published papers (objects), but all are authored by one author (subject). Person hasSingleAuthorArticleSingleAuthorArticle • Given a singleAuthorArticle object individual (y) we can find a unique subject individual (x) y x y y

  30. hasSingleAuthorPaper Author Article … • A single value of the property (object y, e.g., doi of an Article) cannot be shared by two x subject entities (e.g., Authors). • Example: Assume that an isotope is produced by the decay of some unique isotope! Isotope parentOfDaughterIsotope • An objectindividual y(some daughterIsotope) uniquely determines a single subject individual x (parent isotope) x y

  31. locatedAt Example Station Location • Assume location of any measurement is uniquely identified by the longitude and latitude (defined by the Location class), i.e., assume no two samples of a rock can be taken at the same exact spot :Station134 : locatedAt : LocationA. :Station346 : locatedAt : LocationA. • We infer that :Station134 owl : sameAs :Station346

  32. x y One-to-one Property • For a one-to-one relationship, we use a combination of the owl:FunctionalProperty and owl:inverseFunctionalProperty. • Note: Sample sampleIdXSD:Integer is not a good example, because it is a datatype property, and not every number gives you the sample :hasimagerdfs:domain :ThinSection. :hasImagerdfs:range Image. :hasImagerdf:typeowl:FunctionalProperty. :hasImagerdf:typeowl:InverseFunctionalProperty. • So, any two thin sections with the same image must be the same thin section! sampleId X Sample XSD:Integer hasImage ThinSection Image

  33. One-to-one hasImage Property

  34. <rdf:Description rdf:about=":hasImage"> <rdf:type> <rdf:Description rdf:about="http://www.w3.org/2002/07/owl#ObjectProperty"/> </rdf:type> <rdf:type> <rdf:Description rdf:about="http://www.w3.org/2002/07/owl#FunctionalProperty"/> </rdf:type> <rdf:type> <rdf:Description rdf:about="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/> </rdf:type> <rdfs:domain><rdf:Description rdf:about=":ThinSection"/></rdfs:domain> <rdfs:range><rdf:Description rdf:about=":Image"/></rdfs:range> </rdf:Description> <rdf:Description rdf:about=":ThinSection"> <rdf:type><rdf:Description rdf:about="http://www.w3.org/2002/07/owl#Class"/></rdf:type> </rdf:Description> <rdf:Description rdf:about=":Image"> <rdf:type>rdf:Description rdf:about="http://www.w3.org/2002/07/owl#Class"/></rdf:type> </rdf:Description> </rdf:RDF> hasImage ThinSection Image

  35. x1 x2 hasComposition Mineral Composition • Note that not every functional property can also be an inverse functional property • For example, mineral composition can be functional only, because every mineral has a unique composition, but many individual minerals can share that same composition (if they belong to the same class) (compare with hasFather) • Some properties can only be inverse functional, but not functional • For example, a single-author publication of an author (or description of an outcrop or a thin section by one person) may be inverse functional, because it only belongs to one person • The person can have several such publications or descriptions

More Related