Presentation is loading. Please wait.

Presentation is loading. Please wait.

DAML: The DARPA Agent Markup Language

Similar presentations


Presentation on theme: "DAML: The DARPA Agent Markup Language"— Presentation transcript:

1 DAML: The DARPA Agent Markup Language
Vera Zaychik GICL, Drexel University 02/28/01 DAML

2 Introduction Extension to RDF: Resource Description Framework and XML: eXtensible Markup Language, also uses ideas from SHOE, OIL, and others Provides constructs to create ontologies and markup information for machine readability Started in august 2000, latest version is called DAML+OIL, next version, DAML+OIL+DT in march DAML

3 Motivation Dynamically identify and understand information sources
Provide interoperability between agents in a semantic manner Enable distributed extensible network of ontologies Current tools such as HTML, XML not sufficient to express semantics, relationships between classes DAML

4 DAML+OIL <-> RDF
DAML+OIL ontology is a set of RDF statements Ontology can actually include arbitrary RDF statements RDF schema uses XML syntax, but could theoretically use any other syntax DAML

5 XML Makes use of tags just like HTML, but arbitrary
<aTag>...</aTag> <anEmptyTag/> <anotherTag with="an attribute">...</anotherTag> <aTag>with <anemptyTag/> inside it</aTag> <tags>and<moreTags>and<yetmoreTags>and...</yetmoreTags></moreTags></tags> Tags can be defined semantically in a DTD DAML

6 RDF RDF document is a collection of assertions in subject verb object (SVO) form Actually both a data model (RDFMS) and a schema (RDFS) RDF data model is a syntax-neutral way of representing RDF expressions Does not specify a mechanism for reasoning DAML

7 Basic RDF object types Resources Properties
All things being described by RDF expressions Identified by URI plus optional anchor id Properties A specific aspect, characteristic, attribute, or relation used to describe a resource has a specific meaning, defines its permitted values, the types of resources it can describe, and its relationship with other properties DAML

8 Basic RDF object types cont.
Statements A specific resource together with a named property plus the value of that property for that resource is an RDF statement Called the subject, the predicate, and the object property value can be another resource or it can be a literal(string or other primitive data type) DAML

9 Simple Example Ora Lassila is the creator of the resource <rdf:RDF xmlns:rdf=“ xmlns:s=" <rdf:Description about=" <s:Creator>Ora Lassila</s:Creator> </rdf:Description> </rdf:RDF> DAML

10 Abbreviated Syntax Form 1
Usable for properties that are not repeated within a description and where the values of those properties are literals the properties may be written as XML attributes <rdf:RDF> <rdf:Description about=" s:Creator="Ora Lassila" /> </rdf:RDF> Side effect: might be viewed differently in browser DAML

11 Abbreviated Syntax Form 2
Works for nested Description elements <rdf:RDF> <rdf:Description about=" <s:Creator rdf:resource=" </rdf:Description> <rdf:Description about=" <v:Name>Ora Lassila</v:Name> </rdf:RDF> equal to <s:Creator rdf:resource=" v:Name="Ora Lassila" /> DAML

12 Abbreviated Syntax Form 3
description element containing a type property <rdf:Description about=" <s:Creator> <rdf:Description about=" <rdf:type resource=" <v:Name>Ora Lassila</v:Name> </rdf:Description> </s:Creator> equal to <s:Person about=" </s:Person> DAML

13 RDF schema Different from XML DTD: syntax vs. semantics
Defines Class, Property, subClassOf, subPropertyOf, domain, range, and some others Use namespace DAML

14 More info on RDF http://www.w3.org/RDF/
DAML

15 Why RDF Is Not Enough Only range/domain constraints on properties (need others) No properties of properties (unique, transitive, inverse, etc.) No equivalence, disjointness, etc. No necessary and sufficient conditions (for class membership) No defined semantics DAML

16 DAML basics Setting up the namespaces <rdf:RDF
xmlns:rdf =“ xmlns:rdfs=“ xmlns:daml=“ xmlns =“ > DAML

17 DAML basics cont. Assert an ontology
<daml:Ontology rdf:about=“”> <daml:versionInfo>$Id: daml+oil-ex.daml,v /01/11 20:33:52 mdean Exp $</daml:versionInfo> <rdfs:comment>An example ontology</rdfs:comment> <daml:imports rdf:resource=“ </daml:Ontology> DAML

18 DAML basics cont. Define classes <rdfs:Class rdf:ID="Animal">
<rdfs:label>Animal</rdfs:label> <rdfs:comment> This class of animals is illustrative of a number of ontological idioms. </rdfs:comment> </rdfs:Class> <rdfs:Class rdf:ID="Male"> <rdfs:subClassOf rdf:resource="#Animal"/> DAML

19 DAML basics cont. Define classes <rdfs:Class rdf:ID="Female">
<rdfs:subClassOf rdf:resource="#Animal"/> <daml:disjointWith rdf:resource="#Male"/> </rdfs:Class> <rdfs:Class rdf:ID="Man"> <rdfs:subClassOf rdf:resource="#Person"/> <rdfs:subClassOf rdf:resource="#Male"/> DAML

20 DAML basics cont. Define properties
<rdf:Property rdf:ID="hasParent"> <rdfs:domain rdf:resource="#Animal"/> <rdfs:range rdf:resource="#Animal"/> </rdf:Property> <rdf:Property rdf:ID="hasFather"> <rdfs:subPropertyOf rdf:resource="#hasParent"/> <rdfs:range rdf:resource="#Male"/> DAML

21 DAML basics cont. Define restrictions
<rdfs:Class rdf:ID="Person"> <rdfs:subClassOf rdf:resource="#Animal"/> <rdfs:subClassOf> <daml:Restriction> scope difference <daml:onProperty rdf:resource="#hasParent"/> <daml:toClass rdf:resource="#Person"/> </daml:Restriction> </rdfs:subClassOf> <daml:Restriction daml:cardinality="1"> <daml:onProperty rdf:resource="#hasFather"/> </rdfs:Class> DAML

22 DAML basics cont. About tag <rdfs:Class rdf:about="#Animal">
<rdfs:comment> Animals have exactly two parents, ie: If x is an animal, then it has exactly 2 parents (but it is NOT the case that anything that has 2 parents is an animal). </rdfs:comment> <rdfs:subClassOf> <daml:Restriction daml:cardinality="2"> <daml:onProperty rdf:resource="#hasParent"/> </daml:Restriction> </rdfs:subClassOf> </rdfs:Class> DAML

23 DAML basics cont. Max, min cardinality (min default=0)
<rdfs:Class rdf:about="#Person"> <rdfs:subClassOf> <daml:Restriction daml:maxcardinality="1"> <daml:onProperty rdf:resource="#hasSpouse"/> </daml:Restriction> </rdfs:subClassOf> </rdfs:Class> DAML

24 DAML basics cont. UniqueProperty (cardinality=1), Transitive
<daml:UniqueProperty rdf:ID="hasMother"> <rdfs:subPropertyOf rdf:resource="#hasParent"/> <rdfs:range rdf:resource="#Female"/> </daml:UniqueProperty> <daml:TransitiveProperty rdf:ID="hasAncestor"> <rdfs:label>hasAncestor</rdfs:label> </daml:TransitiveProperty> DAML

25 DAML basics cont. one of <rdf:Property rdf:ID="hasHeight">
<rdfs:range rdf:resource="#Height"/> </rdf:Property> <rdfs:Class rdf:ID="Height"> <daml:oneOf rdf:parseType="daml:collection"> <Height rdf:ID="short"/> <Height rdf:ID="medium"/> <Height rdf:ID="tall"/> </daml:oneOf> </rdfs:Class> DAML

26 DAML basics cont. hasValue, intersectionOf
<rdfs:Class rdf:ID="TallThing"> <daml:sameClassAs> <daml:Restriction> <daml:onProperty rdf:resource="#hasHeight"/> <daml:hasValue rdf:resource="#tall"/> </daml:Restriction> </daml:sameClassAs> </rdfs:Class> <rdfs:Class rdf:ID="TallMan"> <daml:intersectionOf rdf:parseType="daml:collection"> <rdfs:Class rdf:about="#TallThing"/> <rdfs:Class rdf:about="#Man"/> </daml:intersectionOf> DAML

27 DAML basics cont. instances <Person rdf:ID="Adam">
<rdfs:label>Adam</rdfs:label> <rdfs:comment>Adam is a person.</rdfs:comment> <hasHeight rdf:resource=“#medium”/> </Person> DAML

28 Status Several ontologies already defined: Crawler: Other tools: DAML

29 Where to Get More Information
Main: Language Reference: A Model-Theoretic Semantics: An Axiomatic Semantics (KIF): DAML


Download ppt "DAML: The DARPA Agent Markup Language"

Similar presentations


Ads by Google