DAML+OIL

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)

description

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. - PowerPoint PPT Presentation

Transcript of DAML+OIL

Page 1: DAML+OIL

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)

Page 2: DAML+OIL

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)

Page 3: DAML+OIL

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

Page 4: DAML+OIL

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

Page 5: DAML+OIL

Exemple

Personne TopEnsemble TopHomme PersonneFemme (and Personne (not Homme))

membre rolechef membre

Page 6: DAML+OIL

Exemple (2)

Equipe : (and Ensemble

(all membre Personne)

(atleast 2 membre))

petiteEquipe : (and Equipe

(atmost 5 membre))

Page 7: DAML+OIL

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

Page 8: DAML+OIL

DAML OIL

Logique de description

syntaxe XML extension de RDF

utilise les types de XML Schema

Page 9: DAML+OIL

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>

Page 10: DAML+OIL

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>

Page 11: DAML+OIL

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>

Page 12: DAML+OIL

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))

Page 13: DAML+OIL

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))

Page 14: DAML+OIL

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>

Page 15: DAML+OIL

Propriété

<daml:UniqueProperty rdf:ID="hasMother">

<rdfs:subPropertyOf rdf:resource="#hasParent"/>

<rdfs:range rdf:resource="#Female"/></daml:UniqueProperty>

Cardinality=1

Page 16: DAML+OIL

Transitivité, Inverse

<daml:ObjectProperty rdf:ID="hasChild">

<daml:inverseOf rdf:resource="#hasParent"/></daml:ObjectProperty>

<daml:TransitiveProperty rdf:ID="hasAncestor"/>

<daml:TransitiveProperty rdf:ID="descendant"/>

Page 17: DAML+OIL

Classes complémentaires

<daml:Class rdf:ID="Car">

<rdfs:subClassOf> <daml:Class> <daml:complementOf

rdf:resource="#Person"/> </daml:Class> </rdfs:subClassOf> </daml:Class>

Page 18: DAML+OIL

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>

Page 19: DAML+OIL

Classes équivalentes

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

et aussi : samePropertyAs sameIndividualAs

Page 20: DAML+OIL

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

Page 21: DAML+OIL

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>

Page 22: DAML+OIL

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>

Page 23: DAML+OIL

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>