DAML OIL by pptfiles

VIEWS: 20 PAGES: 23

									DAML+OIL
• • • • Darpa Agent Markup Language Ontology Inference Layer Working Group du W3C Working Draft Décembre 2001
– http://www.w3.org/TR/daml+oil-reference

• Logique de description avec syntaxe RDF(S)

Logique de description
• Modèle objet pour la classification de concepts et l’instanciation d’objet • concept : ensemble d’individus • rôle : relation binaire entre individus • concept et rôle : niveau terminologique (Tbox) • individus : assertion (Abox)

Logique de description (2)
• Relation de subsomption : organiser les concepts par niveau de généralité : • un concept A subsume B si l’ensemble des individus représentés par B est inclus dans l’ensemble des individus de A : A est plus général que B • classification : déterminer la position d ’un concept dans une hiérarchie de subsomption

Logique de description (3)
• Concepts primitifs vs définis • Les concepts sont définis par des expressions mettant en jeu des concepts et des rôles
– condition nécessaire et suffisante

• Il suffit d’être compatible avec la définition pour appartenir au concept : celui qui joue avec les Rolling Stones est un Rolling Stone

Exemple
Personne Ensemble Homme  Femme   Top  Top Personne (and Personne (not Homme))

membre  role chef  membre

Exemple (2)
Equipe : (and Ensemble (all membre Personne) (atleast 2 membre))
petiteEquipe : (and Equipe (atmost 5 membre))

Exemple (3)
D : (and Personne (some enfant) (all (restrict enfant Pauvre) Musicien)))
Concept de personne qui a des enfants, dont les enfants pauvres sont musiciens

DAML OIL
Logique de description syntaxe XML extension de RDF utilise les types de XML Schema

Classes
<daml:Class rdf:ID="Male"> <rdfs:subClassOf rdf:resource="#Animal"/> </daml:Class> <daml:Class rdf:ID="Female"> <rdfs:subClassOf rdf:resource="#Animal"/> <daml:disjointWith rdf:resource="#Male"/> </daml:Class> <daml:Class rdf:ID="Woman"> <rdfs:subClassOf rdf:resource="#Person"/> <rdfs:subClassOf rdf:resource="#Female"/> </daml:Class>

Propriété de range objet
<daml:ObjectProperty rdf:ID="hasParent"> <rdfs:domain rdf:resource="#Animal"/> <rdfs:range rdf:resource="#Animal"/> </daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="hasFather"> <rdfs:subPropertyOf rdf:resource="#hasParent"/> <rdfs:range rdf:resource="#Male"/> </daml:ObjectProperty>

Propriété de range littéral
<daml:DatatypeProperty rdf:ID="age"> <rdf:type rdf:resource="&daml;#UniqueProperty"/>

<rdfs:range rdf:resource= "&xmlschema;#nonNegativeInteger"/> </daml:DatatypeProperty>

Sous-classe
<daml:Class rdf:ID="Person"> <rdfs:subClassOf rdf:resource="#Animal"/> <rdfs:subClassOf> <daml:Restriction> <daml:onProperty rdf:resource="#hasParent"/> <daml:toClass rdf:resource="#Person"/> </daml:Restriction> </rdfs:subClassOf>

Person : (and Animal (all (restrict hasParent Person))

Sous-classe (2)
<rdfs:subClassOf> <daml:Restriction daml:cardinality="1"> <daml:onProperty rdf:resource="#hasFather"/> </daml:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <daml:Restriction> <daml:onProperty rdf:resource="#shoesize"/> <daml:minCardinality>1</daml:minCardinality> </daml:Restriction>

</rdfs:subClassOf>

(atmost 1 father) (atleast 1 shoesize))

Sous-classe (3)
<daml:Class rdf:about="#Person"> <rdfs:subClassOf> <daml:Restriction daml:maxCardinalityQ="1"> <daml:onProperty rdf:resource="#hasOccupation"/> <daml:hasClassQ rdf:resource="#FullTimeOccupation"/> </daml:Restriction> </rdfs:subClassOf> </daml:Class>

Propriété
<daml:UniqueProperty rdf:ID="hasMother"> <rdfs:subPropertyOf rdf:resource="#hasParent"/> <rdfs:range rdf:resource="#Female"/> </daml:UniqueProperty> Cardinality=1

Transitivité, Inverse
<daml:ObjectProperty rdf:ID="hasChild"> <daml:inverseOf rdf:resource="#hasParent"/> </daml:ObjectProperty> <daml:TransitiveProperty rdf:ID="hasAncestor"/> <daml:TransitiveProperty rdf:ID="descendant"/>

Classes complémentaires
<daml:Class rdf:ID="Car"> <rdfs:subClassOf> <daml:Class> <daml:complementOf rdf:resource="#Person"/> </daml:Class> </rdfs:subClassOf> </daml:Class>

Classes disjointes
<daml:Class rdf:about="#Person"> <daml:disjointUnionOf rdf:parseType="daml:collection"> <daml:Class rdf:about="#Man"/> <daml:Class rdf:about="#Woman"/> </daml:disjointUnionOf> </daml:Class>

Classes équivalentes
<daml:Class rdf:ID="HumanBeing"> <daml:sameClassAs rdf:resource="#Person"/> </daml:Class>

et aussi : samePropertyAs sameIndividualAs

Intersection de classes
<daml:Class rdf:ID="TallMan"> <daml:intersectionOf rdf:parseType="daml:collection"> <daml:Class rdf:about="#TallThing"/> <daml:Class rdf:about="#Man"/> </daml:intersectionOf> </daml:Class> Man est l’intersection de Man et TallThing : le plus grand sous-type commun

Classes définie par énumeration des individus
<daml:Class rdf:ID="Height"> <daml:oneOf rdf:parseType="daml:collection"> <Height rdf:ID="short"/> <Height rdf:ID="medium"/> <Height rdf:ID="tall"/> </daml:oneOf> </daml:Class>

Classes définie par la valeur d’une propriété
<daml:Class rdf:ID="TallThing"> <daml:sameClassAs> <daml:Restriction> <daml:onProperty rdf:resource="#hasHeight"/> <daml:hasValue rdf:resource="#tall"/> </daml:Restriction> </daml:sameClassAs> </daml:Class>

Instances
<continent rdf:ID="Asia"/> <rdf:Description rdf:ID="Asia"> <rdf:type> <rdfs:Class rdf:about="#continent"/> </rdf:type> </rdf:Description> <rdf:Description rdf:ID="India"> <is_part_of rdf:resource="#Asia"/> </rdf:Description>


								
To top