Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.