Presentation is loading. Please wait.

Presentation is loading. Please wait.

The Knowledge Presentation Language. Web Ontology Language (OWL)  Web Ontology Language (OWL) extends RDF and RDFS languages by adding several other.

Similar presentations


Presentation on theme: "The Knowledge Presentation Language. Web Ontology Language (OWL)  Web Ontology Language (OWL) extends RDF and RDFS languages by adding several other."— Presentation transcript:

1 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 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: OWL-Lite, OWL DL, and OWL Full  The differences are on limitations on restrictions on classes  OWL Lite: supports class and property hierarchies and simple restrictions, allowing us to develop thesauri and simple ontologies  OWL DL is the decidable version of OWL Full, with some limitation; it is a restricted version of RDF  OWL Full has 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 assignng 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 Let’s 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 within the owl:Ontology Qname, 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 Part of Structural Geology Structural Geology

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 class to a set of instances of a datatype  A datatype property is declared using the owl:DatatypeProperty:  Or

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 another class  The subject and objects of a triple are both individuals  Object properties are declared two different ways: or

10 Example in N3 struc:foldDescription rdf:type owl:DatatypeProperty. struc : foldDescription rdfs : domain struc : Fold. struc : foldDescription rdfs : range xsd : string. struc : foldAxis rdf : type owl : ObjectProperty. struc : foldAxis rdfs : domain struc : Fold. struc : foldAxis rdfs : range struc : Line.

11 Domain and range of properties Can be assigned in a short form: Or the long way, as is shown in the following slide! <rdf:Description rdf:about="http://www.w3.org/2002/07/owl#ObjectProperty"/>

12

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: ‘analyzes’ and ‘analyzedBy’, ‘investigates’ and ‘investigatedBy’, ‘hasSample’ and ‘sampleOf, ‘wrote’ and ‘writtenBy’, and ‘locatedIn’ and ‘locationOf’, reverses the direction of the second property  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 P owl:inverseOf Q. If x P y. Then y Q x.  Example: The partOf property is an inverse property struc : Fold hasPart struc : limb. partOf owl : inveseOf struc : hasPart.  This means that if fold has limb as part, then limb is part of fold FoldLimb xy hasPart partOf

15

16 partOf owl:inverseOf hasPart

17 owl:symmetricProperty  If the property that relates two classes is the same 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 FaultBendFaultSegment xy P Fault z P

19 partOf  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:FaultSegment struc:part ofstruc: FaultSegment. struc:partOf rdf :type owl:TransitiveProperty. struc:FaultSegmentrdfs:subClassOf struc:Fault. FaultBendFaultSegment xy partOf Fault z partOf

20 Transitive partOf partOf owl:inverseOf hasPart

21

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

23 A functional property p (e.g., hasBiologic Mother) can only have one unique value y for a particular individual x That is, there is a single value of y for a given x as is for a mathematical function: Function y=x 2 has a square which is unique for each input x Given x (subject individual) we can find y (object individual) i.e., x  y A functional property is therefore one for which there is only one value! There could be many x (e.g., children; samples), but all relate only to one y (Mother; Sampler) Functional properties have a global cardinality constraint owl:functionalProperty x x x x y

24 Inference  The owl:FunctionalProperty can only take one value for any individual, allowing sameness to be inferred  The inference rule for this construct is as follows: If P rdf:type owl:FunctionalProperty. X P A X P B Then A owl:sameAs B.

25 A property p is functional if x p y 1 and x p y 2 imply that y 1 = y 2 i.e., the two object individuals are the same (owl: sameAs) The subjects are not asserted to be the same; only the objects are the same For example: mineral type is a functional property min:hasType rdf:type owl:FunctionalProperty. min:mineral1 min:hasType min:pyr. min:mineral 1 min:hasType min:pyroxene. min:pyr owl:sameAs min:pyroxene. Isotope daughterOf isotope sampleLocation and samplerOf are functional properties, because x sampleLocation y or x samplerOf y has one unique value y for each x (i.e., location for a sample or person who took the sample) …

26 owl:FunctionalProperty

27

28 Inverse Functional Property  This property, which is the inverse of the owl:FuncationalProperty, is very useful for merging data from different sources  The owl:FunctionalProperty and owl:InverseFuncationalProperty allow merging data for a same individual from different sources  The owl:InverseFunctionalProperty is equivalent to the key in relational databases, such as SSN and driving license number  The inference rule of this construct is as follows: P rdf:type owl:InverseFunctionalProperty. A P X. B P X. Then A owl:sameAs B.

29 owl:InverseFuncationalProperty 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, if x 1 p y and x 2 p y, then x 1 and x 2 are the same! e.g., Isotope parentOf isotope e.g., hasSingleAuthorArticle: a person may have many published papers (objects), but all are authored by one author (subject). PersonhasSingleAuthorArticleSingleAuthorArticle Given a singleAuthorArticle object individual (y) we can find a unique subject individual (x) y y y x

30 … A single value of the property (object y) cannot be shared by two x subject entities, e.g., describes as in Geologist describes ThinSection Declaring a property to be inverse functional, puts a global cardinality constraints on the property Datatype properties cannot be declared inverse- functional in OWL DL AuthorArticle hasSingleAuthorPaper GeologistThinSection describes

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

32 One-to-one Property  For a one-to-one relationship, we use a combination of the owl:FunctionalProperty and owl:inverseFunctionalProperty.  Note: Sample sampleId XSD:Integer is not a good example, because it is a datatype property, and not every number gives you the sample :hasimage rdfs:domain :ThinSection. :hasImage rdfs:range :Image. :hasImage rdf:type owl:FunctionalProperty. :hasImage rdf:type owl:InverseFuncationalProperty.  So, any two thin sections with the same image must be the same thin section! SampleXSD:Integer sampleId x y X ThinSectionImage hasImage

33  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 individuals 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

34 owl:equivalentProperties  Already we have learned about asserting that two properties behave in the same way  To make two properties equivalent, we do exactly as we did to make to classes equivalent (by using rdfs:subclassOf), i.e., use the rdfs:subPropertyOf twice or using owl:equivalentProperty  e.g., make the folds and buckles properties equivalent: struc : foldsrdfs : subPropertyOf:buckles. struc : bucklesrdfs : subPropertyOfstruc:folds.  This can also be done with the owl:equivalentProperty: struc:foldsowl:equivalentPropertystruc : buckles. folds buckles owl:equivalentProperty

35 One-to-one hasImage Property

36

37 Example  Which means any triple using the ‘folds’ property, can use its equivalent property ‘buckles’ struc:Shorteningstruc:foldsstruc:Bedding. struc:shorteningstruc:bucklesstruc:Bedding.  Note: owl:equivalentProperty rdf:typeowl : symmetricPropert shortening buckles folds Bedding equivalentProperty

38 Combining Properties  Writing procedures or modeling processes, for example in a laboratory experiment, workflow management, and modeling geological processes, we commonly combine several types of properties (e.g., inverseOf, transitiveProperty, subPropertyOf)  In such cases, some activities may depend on the completion of others  For example, making thin section may require the following steps, each may depend on the completion of others. Here is the workflow: Slice the rock specimen, square the slice into chip, polish the chip to fine grit, mount the chip to slide, cut and polish the section, and finally, mount with cover slide

39 Workflow Since these steps are in order, then each step may enable the next step, or each step depends or requires the previous step: makeChipmountChippolishChippolishSection putCoverSlidesliceSpecimen dependsOn or requires enables

40 code : dependsOn owl: inverseOf :enables : sliceSpecimen : enables : makeChip. : makeChip : enables : polishChip. : polishChip : enables : mountChip. : mountChip : enables : polishSection. : polishSection : enables : putCoverslide. : dependsOn rdfs : subPropertyOf : requires. : requires rdf : type owl : TransitiveProperty. : enables rdfs : subPropertyOf : requiredFor. : requiredFor rdf : type owl : TransitiveProperty  From the above statements we infer the following requirements for ‘mountChip’: : mountChip : requires : polishChip; : requires : makechip; : requires : sliceSpecimen.

41 OWL Class OWL allows constructing complex classes using restrictions of the properties of existing classes It also includes: owl:disjointWith, owl:Thing, owl:Nothing,, owl:equivalentClass, owl:one of, owl:intersectionOf, owl:union, and owl:complementOf

42 Declaring classes in OWL An owl class is defined in two different ways: Or in short hand, using the owl:Class constructor Or

43 Owl uses the rdfs:subClassOf This is used to create class a hierarchy rdfs:subClassOf is transitive Every owl class is a subclass of the owl:Thing

44 owl:disjointWith Two classes can be declared to be disjoint if they cannot have a common instance i.e., their intersection is empty For example: Solid and Liquid; Solid and Gas Inorganic and Organic Crystalline and Amorph Mineral and Gas, Mineral and Organic

45 Mineral is naturally occurring, inorganic, solid, crystalline substance with definite chemical composition. It is disjoint with amorph, artificial, gas, and organic substances.

46 <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#"> the Artificial, Gas, and Organic classes here

47 owl:Thing (Τ) owl:Nothing (  ) OWL has two predefined classes: owl:Thing and owl:Nothing All individuals are members of the owl:Thing Owl:Thing is the top, most general class, and represents the universe, which means all individuals are its instances Owl:Nothing has no instance Because the intersection of two disjoint sets is empty, it is represented by the owl:Nothing

48 Intersection ( п ) of two disjoint classes that subclass owl:Thing is owl:Nothing

49

50 Set Equivalence (  ) by owl:equivalentClass  When we want to assert that two URIs refer to the same thing, we use owl:equivalentClass :XRDowl:equivalentClass:XRayDiffraction. struc:Jointowl:equivalentClassstruc:TensileFracture.  We can also make two classes to be equal if we make each a subclass of the other, for example, if we want to say that a joint is the same thing as a tensile fracture, we assert: struc:Jointrdfs:subClassOf struc:TensileFracture. struc:TensileFracture rdfs:subClassOf struc:Joint.

51 Inference for owl:equivalentClass A owl:equivalentClass B. x rdf:type A then x rdf:type B  Moreover, from the subClassOf property we additionally infer that the two classes have exactly the same members: A rdfs:subClassOf B. x rdf:type B. then x rdf:type A.  Notice that: owl:equivalentClassrdfs:type owl:SymmetricProperty. AB xx=y 

52 owl:one of  x 1,…, x n  Allows defining a class by enumerating its member, using owl : one of Enumeration is a list of options that a user can select from The list is usually exhaustive, like the list of planets, types of rock or minerals, names of oceans

53 {Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune}

54 Declare each planet as an instance of the SolarPlanet …

55 Individuals  These are instances of physical or virtual types, i.e., same type individuals are members of the same class  Any individual belongs to the owl:Thing class  An individual can belong to one or more classes  Individuals may be assigned to a class as follows:

56 Short form of class assignment  Alternatively, we can instantiate a class as:  Or, use the rdf:ID  Or we can do it using rdf:type as shown on next slide!  These statements say that the ZagrosFault is a Thing, and Babaie is of type Person

57 Instantiating and individual

58 Same Individuals (owl:sameAs)  In many cases we want to assert that two things are actually the same  For example, two samples with different numbers may actually be the same, or two faults with different names may actually be the same fault  For example, Zagros Fault, Zagros shear zone, Zagros Crash zone, Zagros Thrust geochem:sample1owl:sameAsstruc:sample22. tect:ZagrosFaultowl:sameAsstruc:ZagrosShearZone.

59 Inference  Notice that owl:sameAs is a symmetric Property: owl:sameAs rdf : type owl:SymmetricProperty. Therefore, we can infer that: struc:sample22owl:sameAsgeochem:sample1. struc:ZagrosShearZone owl:sameAs tect:ZagrosFault.

60 owl:differentFrom Is used to declare that individuals are mutually different It uses owl:distinctMembers and rdf:parseType=“Collection” to represent an exhaustive list

61 Merging Different Databases w/ owl:sameAs  The owl:sameAs is very useful when merging data from different databases  For example, let’s assume that the following ‘Sample’ and ‘Sampling’ tables (next slide) are from two autonomous relational databases  As we can see, some concepts are named differently in the two databases. We want to merge data from the two tables  Recall that in a relational database, every row is a record of an individual  The Sample table has 6 rows and 6 columns, which means that we can extract 36 triples from this table  The Sampling table has 8 columns and 6 rows, yielding 48 triples

62 Sample Table SAMPLE (Petrology Database) Sample ID Sample Number Paleont AgeRock Absolute Age Researcher 1N100Basalt75 Ma Babaie 2N110MioceneLimestone Babaie 3N120MioceneLimestone Babaie 4N130Basalt73 Ma Babaie 5N140OligoceneShale Babaie 6N150Gabbro70 Ma Babaie

63 Make the Triples  To make the triples, we use the namespace for each group (e.g., ‘petr’ for the petrology, and ‘tect’ for the tectonics domains)  Every cell of each table is a triple, with subject (individual corresponding to the row) designated with the namespace and table name attached to the id of the row  The predicate for each triple is designated with the namespace and table name attached to field name for the corresponding cell  The object is the content of the corresponding cell

64 Some of the triples are shown below  Triples for the first row shown below (only triples of two rows are shown): petr : Sample1 petr : Sample_Sample_Number N100. petr : Sample1 petr : Sample_Paleont_Age “”. Petr : Sample1 petr : Sample_Rock Basalt. petr : Sample1 petr : Sample_Absolute_Age 75 Ma. petr : Sample1 petr : Sample_Researcher Babaie. petr : Sample2 petr : Sample_Sample_Number N110. petr : Sample2 petr : Sample_Paleont_Age “Miocene”. Petr : Sample2 petr : Sample_Rock Limestone. petr : Sample2 petr : Sample_Absolute_Age “”. petr : Sample2 petr : Sample_Researcher Babaie. …

65 SAMPLING (Tectonics Database) ID Sample NumberRegion Sampling DateProjectInvestigator Map Name Isotopic Age 1 N130Neyriz11/2/2007 Neyriz OphioliteBabaie Neyriz 1:24000 73 Ma 2 N150Neyriz11/6/2007 Neyriz OphioliteBabaie Neyriz 1:24000 70 Ma 3 N100Neyriz11/6/2007 Neyriz OphioliteBabaie Neyriz 1:24000 75 Ma 4 N120Neyriz11/3/2007 Neyriz OphioliteBabaie Neyriz 1:24000 5 N140Neyriz11/3/2007 Neyriz OphioliteBabaie Neyriz 1:24000 6 N110Neyriz11/5/2007 Neyriz OphioliteBabaie Neyriz 1:24000

66  RDF triples for the Sampling table (only triples of two rows are shown): tect : Sample1 tect : Sampling_Sample_Number N130. tect : Sample1 tect : Sampling_Region Neyriz. tect : Sample1 tect : Sampling_Sampling_Date 11/2/2007. tect : Sample1 tect : Sampling_Project Neyriz Ophiolite. tect : Sample1 tect : Sampling_Investigator Babaie. tect : Sample1 tect : Sampling_Map_Name Neyriz 1:24000. tect : Sample1 tect : Sampling_Isotopic_Age 73 Ma. tect : Sample2 tect : Sampling_Sample_Number N150. tect : Sample2 tect : Sampling_Region Neyriz. tect : Sample2 tect : Sampling_Sampling_Date 11/6/2007. tect : Sample2 tect : Sampling_Project Neyriz Ophiolite. tect : Sample2 tect : Sampling_Investigator Babaie. tect : Sample2 tect : Sampling_Map_Name Neyriz 1:24000. tect : Sample2 tect : Sampling_Isotopic_Age 70 Ma. …

67 Mapping the Databases  We need to map the two tables to each other using some of the rdfs and owl construct if we want to run a federated query on the two tables  Because the records (rows) in each table are actually individual data, we use the owl:sameAs to assert that some individuals are the same   Notice that sample number 130 is in the 4 th row for the Sample table, but is in the 1 st row of the Sampling table (same situation for other samples)

68 The merging assertions: petr : Sample1 owl : sameAs tect : Sample3. petr : Sample2 owl : sameAs tect : Sample6. petr : Sample3 owl : sameAs tect : Sample4. petr : Sample4 owl : sameAs tect : Sample1. petr : Sample5 owl : sameAs tect : Sample5. petr : Sample6 owl : sameAs tect : Sample2.

69 Boolean class constructors OWL provides Boolean constructors such as owl:intersectionOf, owl:unionOf, and owl:complementOf to allow modeling complex knowledge These constructors represent logical and ( , conjunction) or ( , disjunction) not ( , negation) The purpose of these constructors is to combine simple classes into more complex classes with increased expressivity

70 owl:intersectionOf (A п B) The class defined by the intersection of two classes contains instances of both classes

71 Owl:unionOf (A U B) The class defined by the union of two classes has instances of either or both classes We can use the owl:intersectionOf and owl:unionOf constructor s with the owl:subClassOf as in next slide for the case of owl:complementOf

72 owl:complementOf (~A) The complement of a class contains no instance of the class For example, the complement of Fault contains instances of Cat, Fruit, and River Even though this looks correct, but it is not, because the instances of the Land class can include

73 Combination of Boolean constructors A better definition of the Land class may, for example, be defined by first defining a class (e.g., SolidGround) that annotates all land features, such as continents, islands, and then declare Land at the intersection of this class and the complement of the BodyOfWater class See next slide

74

75 owl.disjointUnionOf  OWL 2 DL’s owl.disjointUnionOf defines a class as the union of other classes, all of which are pairwise disjoint  It is a shorthand for separate axioms making the classes pairwise disjoint and one setting up the union class  For example, we can define Mesozoic as the disjointUnionOf Triassic, Jurassic, and Cretaceous: </owl.Class

76 owl:AlldisjointClasses OWL 2 also defines the owl:AlldisjointClasses to collectively define a set of classes as mutually disjoint Use the owl:members and rdf:parseType=“Collection”

77 Other alternative ways  We can also use OWL 1 and mutually define the Triassic, Jurassic, and Cretaceous periods as disjoint, with the owl:disjointWith Or we can define the Cretaceous, Jurassic, and Triassic classes as disjoint, and then find the union of these disjoint sets (see owl code below), which is equivalent to the owl 2.0 disjointUnionOf shortcut

78 Example: Laramide Orogeny The Laramide orogeny in Montana and Wyoming occurred during the Late Cretaceous and Eocene (i.e., some processes occurred in either Cretaceous or Eocene, which are disjoint) The two periods have no intersection! Let’s define time:LateCretaceousEocene (may be defined in the Time ontology) using the owl.disjointUnion, that occurred either in Cretaceous or in Eocene, but not in their intersection (i.e., A xor B) AxorB: Exclusive disjunction or exclusive or: One or the other, but not both (red is true in the image), and is false if neither or both are true

79 N3 Code for Laramide Orogeny owl:disjointUnionOf (time:LateCretaceousEocene time:Cretaceous time:Eocene).  Assuming that we have the LateCretaceousEocene class: tect:Laramiderdf : type tect:Orogeny. tect: Laramidetime:occurredIn time:LateCretaceousEocene. time:intervalFor owl.inverseOf time :occurredInInterval.  We infer that: time : LateCretaceousEocene intervalFortect : Laramide  Query: Which orogeny occurred in Late Cretaceous-Eocene?): ?orogeny time : occurredInInterval time : LateCretaceousEocene.  Will return Laramide

80 LateCretaceousEocene </owl.Class <rdfs:domain rdf:resource=“LaramideOrogeny”

81 Property Restriction  OWL allows modifying the description of an existing class C to include a restriction R (based on some property P) on members of the class  Restriction in OWL is a class (owl:Restriction), meaning that it has individual members which are constrained by modified properties  The individuals that satisfy R, do not have to be members of C (they could be in an unnamed class), because R defines a necessary but not sufficient condition for membership in C owl : Restriction rdfs : subClassOf owl : Class.

82 Example  A restriction limits the things that can be said (i.e., the values for its properties) about an individual of a class  This means that a class may be modified by constraining the possible values for its properties  For example, assume that we have the Fold class, which has a property called limb, and another property called intersectsAlong, which is a subproperty of the intersects property  The intersectsAlong can mean intersect along anything  However, we want to say that the limb of the fold intersects the axial plane of the fold along the fold axis. Thus, we want to restrict the intersectsAlong property of the Fold class to have a fold axis range

83  Since we are constraining the values for properties, we use the keyword: owl:onProperty when we want to limit the way a property is used for the restricted class. For example, if we are constraining the use of the intersectsAlong property of the Fold class, we write: owl:onProperty intersectsAlong.  Property restrictions are done using the following format: 1 2 … 3 4 5 6 … R (restrictions here) 7 </owl : Restriction 8 9 … 10 Line 3 indicates that C is a subclass of an unnamed restriction class (defined in lines 4-7), that satisfies R.

84 Types of Restriction Restrictions in OWL may be of three types: quantified, cardinality, and value (filter information) A quantified restrictions may be: Existential (  ) declared with the owl : someValuesFrom Universal (  ), declared with owl : allValuesFrom or owl:hasValue

85 Quantified Restriction Existential owl:someValuesFrom This restriction says: “All individuals for which at least one (some) value of the property P comes from class C.” This means that there is at least one member of the class with the P property C P

86 Example  We would like to make a new restricted REE (Rare Earth Elements) class out of existing Analysis and RareEarth classes, by constraining the REE class to contain only individuals, at least one of which is a rare earth (this can better be done by defining what the REE are with a different restriction!)

87 Restricted REE class

88 Example: courses taught at GSU  Assume that we have the two existing classes: Course and GSU, and we want to define a new restricted class called GSUCourse from the Course class  So, we declare GSUCourse a subclass of Course, and constrain it with an unnamed Restriction class  Assume that an existing property called ‘taughtIn’ is defined for the Course class. The GSUCourse restricted class can only have individuals some of which are taughtIn GSU

89

90 Quantified Restriction Universal owl:allValuesFrom This produces a restriction class that says: “the individuals for which all values of the property P come from class C.” This means that if there are any members, then they all must have this property P

91 Example: Planar Structure

92 Example: XRF Analysis  Assume that we have defined the Analysis and XRF classes before  We would like to define a new restricted class constrained to have all of its individuals be of type XRF

93

94 Cardinality Restriction (Constraint)  Cardinality restriction imposes a limit on the number of occurrences of property P that each member of a class C can have ◦ i.e., it provides constraints on the number of individuals that can be related to a member of a restriction class  Cardinality restriction can be used to create special sets   Exact cardinality restriction, declared by owl : cardinality, defines the exact number of occurrences of property P for members of class C  For example, every mineral may have exactly one refractive index

95 Example: Single Authored publication 1

96 Max or min cardinality restrictions  Are declared with maxCardinality or minCardinality, and give the maximum or minimum number of occurrences of property P for members of class C  Example: A box fold can have at least two axes. 2

97 Hydrogen has a maximum of three isotopes 3

98

99 Value Restriction (Filter Information) owl : hasValue This is a special case of owl : someValueFrom restriction in which the class C is a singleton set {A} It imposes a limit on the values the occurrences of property P may have This kind of restriction applies to cases in which we want to say: “all individuals that have the value A for the property P”.

100 Planets that orbit around the sun Assume ‘orbits’ has a Planet domain and an XSD string range

101

102 Zagros folds are those located in the Zagros Range


Download ppt "The Knowledge Presentation Language. Web Ontology Language (OWL)  Web Ontology Language (OWL) extends RDF and RDFS languages by adding several other."

Similar presentations


Ads by Google