owl2.0 primer part02
DESCRIPTION
Introduction of OWL2.0 PrimerTRANSCRIPT
2010.07.22OWL 2.0 Primer
OWL2.0 primer 2
Protege4.1_beta
OWL2.0 primer 3
Contents
Advanced Class Relationships Advanced Use of Properties Advanced Use of Datatypes
OWL2.0 primer 4
Complex Classes
Woman
EquivalentClasses(
:Mother
ObjectIntersectionOf( :Woman :Parent )
)
ParentMother
OWL2.0 primer 5
Complex Classes
EquivalentClasses(
:Parent
ObjectUnionOf( :Mother :Father )
)
Mother FatherParent
OWL2.0 primer 6
Complex Classes
EquivalentClasses(
:ChildlessPerson
ObjectIntersectionOf(
:Person
ObjectComplementOf( :Parent )
)
Parent
OWL2.0 primer 7
Property Restrictions
Existential quantification
Every instance of Parent has at least one children
EquivalentClasses(
:Parent
ObjectSomeValuesFrom ( :hasChild :Person )
)
OWL2.0 primer 8
Property Restrictions
Universal quantification
A Happy person exactly if all their children are Happy person.
EquivalentClasses(
:HappyPerson
ObjectAllValuesFrom ( :hasChild :HappyPerson )
)
OWL2.0 primer 9
Property Restrictions
Property restrictions can also be used to describe classes of individuals that are related to one par-ticular individual.
EquivalentClasses(
:JohnsChildren
ObjectHasValue ( :hasParent :John )
)
OWL2.0 primer 10
Property Restrictions
As a special case of individuals being interlinked by properties, an individual might be linked to it-self.
EquivalentClasses(
:NarcisticPerson
ObjectHasSelf ( :loves )
)
OWL2.0 primer 11
John has at most four children who are them-selves parents
Property Restrictions
ClassAssertion(
ObjectMaxCardinality( 4 :hasChild :Parent )
:John)
OWL2.0 primer 12
John has at least two children who are parents
Property Restrictions
ClassAssertion(
ObjectMinCardinality( 2 :hasChild :Parent )
:John)
John has three children who are parents
ClassAssertion(
ObjectExactCardinality( 3 :hasChild :Parent )
:John)
OWL2.0 primer 13
Enumeration of Individuals
Bill, John and Mary are the only members of MyBirthdayGuests.
EquivalentClasses(:MyBirthdayGuestsObjectOneOf( :Bill :John :Mary )
)
OWL2.0 primer 14
Contents
Advanced Class Relationships Advanced Use of Properties Advanced Use of Datatypes
OWL2.0 primer 15
Property Characteristics
A is linked to B by hasChild property, B and A also interlinked by the hasParent property.
InverseObjectProperties( :hasParent :hasChild )
OWL2.0 primer 16
Property Characteristics
In some cases, a property and its inverse coincide, or in other words, the direction of a property doesn’t matter.
SymmetricObjectProperty( :hasSpouse )
A property can also be asymmetric meaning that if it connects A with B it never connects B with A.
AsymmetricObjectProperty( :hasChild )
OWL2.0 primer 17
Property Characteristics
Two properties are disjoint if there are no two indi-viduals that are interlinked by both properties.
DisjointObjectProperties( :hasParent :hasSpouse )
OWL2.0 primer 18
Property Characteristics
Properties can be reflexive: such a property re-lates everything to itself.
ReflexiveObjectProperty( :hasRelative )
Properties can also be irreflexive, meaning that no individual can be related to itself by such a role.
IrreflexiveObjectProperty( :parentOf )
OWL2.0 primer 19
Property Characteristics
Every individual can be linked by the hasHusband property to at most one other individual.
FunctionalObjectProperty( :hasHusband)
A transitive property interlinks two individuals A and C whenever it interlinks A with B and B with C for some individual B.
TransitiveObjectProperty( :hasAncestor )
OWL2.0 primer 20
Property Chains
A hasGrandparent C if A hasParent B, B hasPar-ent C
SubObjectPropertyOf(
ObjectPropertyChain( :hasParent :hasParent)
:hasGrandparent
)
OWL2.0 primer 21
Keys
Each named instance of the class expression is uniquely identified by the set of values which these properties attain in relation to the instance.
HasKey( :Person () ( :hasSSN ) )
OWL2.0 primer 22
Contents
Advanced Class Relationships Advanced Use of Properties Advanced Use of Datatypes
OWL2.0 primer 23
Advanced Use of Datatypes
It is possible to express and define new datatypes by constraining or combining to.
Define a new datatype for a person’s age by con-straining the datatype integer to values between 0 and 150.
DatatypeDefinition(
:personAge
DatatypeRestriction( xsd:integer
xsd:minInclusive “0”^^xsd:integer
xsd:maxInclusive “150”^^xsd:integer
)
)
OWL2.0 primer 24
Advanced Use of Datatypes
Datatypes can be combined just like classes by complement, intersection and union.
Define the datatype majorAge by excluding all data values of minorAge from personAge.
DatatypeDefinition(
:majorAge
DatatypeIntersectionOf(
:personAge
DateComplementOf( :minorAge )
)
)
OWL2.0 primer 25
Advanced Use of Datatypes
A new datatype can be generated by just enumer-ating the data values it contains.
DatatypeDefinition(
:toddlerAge
DataOneOf( “1”^^xsd:integer “2”^^xsd:integer )
)
OWL2.0 primer 26
Advanced Use of Datatypes
We can express person has only one age by char-acterizing the hasAge datatype property as func-tional.
FunctionalDataProperty( :hasAge )
OWL2.0 primer 27
Advanced Use of Datatypes
New Classes can be defined by restrictions on datatype properties.
SubClassOf(
:Teenager
DataSomeValuesFrom( :hasAge
DatatypeRestriction( :xsd:integer
xsd:minExclusive “12”^^xsd:integer
xsd:maxInclusive “19”^^xsd:integer
)
)
)
OWL2.0 primer 28
Q & A