Title: DARPA Agent Markup Language DAML
1DARPA Agent Markup Language (DAML)
- Ayorkor Mills-Tettey
- Engs 112
- Friday May 17, 02
2Outline
- Introduction
- Recap of the semantic Web
- Enabling the Semantic Web
- RDF and DAMLOIL
- Towards Semantic Web Services
- DAML-S (DAML Services)
- Putting things in context
- DAMLOIL, DAML-S, WSDL, UDDI, ??
- Conclusion
3Introduction
- The Semantic Web
- To enable Web resources to be accessed by
content, not just keywords (or URLs) - RDF Resource Description Framework
- Expresses Web-based metadata
- Makes work easier for autonomous agents
4DAML History
- DAML (Aug. 2000) extends RDF
- DAML goal To develop a language and tools to
facilitate the concept of the Semantic Web - OIL - Ontology Inference Layer OIL (by the
European Union) - DAMLOIL language is a product of the work of
DARPA and EU-funded Semantic Web research teams
5RDF
- Defines a directed graph of statements that
describe Web-based resources - Statements are also called triples
Predicate
Object
Subject
is created by
Ayorkor Mills-Tettey
This presentation
6RDF (2)
- Resources are represented by URIs
- Subject and Predicate are resources
- Object may be a resource or a literal
- We say ltsubjectgt has property ltpredicategt valued
by ltobjectgt
http//someDomain.net/someOntology/created-by
Ayorkor Mills-Tettey
http//ayorkor.net /damlPresentation
7RDF (3)
- A collection of RDF statements is a model
created-by
http//ayorkor.net
http//ayorkor.net /damlPresentation
nationality
name
Ayorkor Mills-Tettey
Ghanaian
8A Word on URIs
- a Uniform Resource Identifier (URI) is either
- a Uniform Resource Locator (URL)
- e.g. http//www.daml.org/researchers
- a Uniform Resource Name (URN)
- e.g. isbn0062515861
- a URI reference is either
- a URI
- e.g. http//www.daml.org/researchers
- a URI plus a fragment
- e.g. http//www.daml.org/researchersdean
(from Mike Deans Presentation)
9Serializing RDF
- Abstract directed graphs are nice, but we need a
practical representation in XML
ltrdf RDF xmlnsrdfhttp//www.w3.org/1999/02/22-
rdf-syntax-ns xmlnshttp//someDomain.net/
someOntology/gt ltrdfDescription
abouthttp//ayorkor.net/damlPresentationgt ltcr
eated-bygt ltrdfDescription IDhttp//ayorkor.n
et/gt ltnamegtAyorkor Mills-Tetteylt/namegt ltn
ationalitygtGhanaianlt/nationalitygt lt/rdfDescrip
tiongt lt/created-bygt lt/rdfDescriptiongt lt/rdfRD
Fgt
10RDF Schema
- RDF provides a means of defining schemas
- An RDF schema is a vocabulary of resources to use
with RDF - Can be expressed as rules allowing to infer new
facts
Examples will make this clearer
11RDF Schema Examples
rdfssubPropertyOf
Parent
Mother
Given this schema (mother is a sub-property of
parent), If were told Jane is the mother of
Greg We can infer a new fact Jane is the
parent of Greg.
12RDF Schema Examples (2)
- A Class is a resource denoting a set of resources
rdftype
rdfsClass
People
rdfsubClassOf
rdfsubClassOf
Men
Women
rdfsdomain
Mother
rdfsrange
13RDF Schema Examples (3)
- If we know that Lisa Mein is a woman and
Patrick Mein is a man, then we can infer that
Lisa Mein is a person and Patrick Mein is a
person - Any resource that is a person can have a mother
- The mother property can only have as values
resources that are part of the woman class. - Thus, Lisa Mein could be someones mother, but
Patrick Mein could not. However, both Lisa and
Patrick can have mothers.
14Usefulness of RDF
- Autonomous software agents can make use of
established graph-traversal algorithms - Machines can begin to make similar inferences to
humans - But, RDF is very limited in what it can express
15DAMLOIL
- Extends RDF
- Provides means of expressing, among others
- Equivalence of properties
- Inverses of properties
- Data types of properties
- Uniqueness and/or cardinality of properties
- Multiple ranges for properties
- Disjointness, and boolean combinations of classes
- And a better way of expressing
- Enumerations
16Expressing Equivalence
E.g., we can say
damlequivalentTo
someFrenchOntology amiDe
someEnglishOntology friendOf
Which means that Marc is the friend of Anne on
an English website Has the same meaning as Marc
est lami dAnne on a French website.
17Expressing Inverses
E.g., we can say
damlinverseOf
Child
Parent
Which means that if we are told that Andrew is
the parent of Annette We can infer
that Annette is the child of Andrew
18Expressing Data Types
- In DAML, XML schema data types can be used as the
value of the rdfsrange property - ltdamlDatatypeProperty rdfIDproductNumbergt
- ltrdfslabelgtProduct Numberlt/rdfslabelgt
- ltrdfsdomain rdfresourceProduct/gt
- ltrdfsrange rdfresourcehttp//www.w3.org/XMLSc
hemanonNegativeInteger/gt - lt/damlDatatypePropertygt
- Any property that is not a damlDatatypeProperty
is a damlObjectProperty - The range of a damlObjectProperty must be a
class defined in DAML or in RDF
19Expressing Uniqueness
Uniqueness can be expressed using the
UniqueProperty data type.
ltdamlDatatypeProperty rdfIDproductNumbergt ltr
dfslabelgtProduct Numberlt/rdfslabelgt ltrdfsdomai
n rdfresourceProduct/gt ltrdfsrange
rdfresourcehttp//www.w3.org/XMLSchemanonNegat
iveInteger/gt ltrdftype rdfresourcehttp//www.
w3.org/damloilUniqueProperty/gt lt/damlDatatypeP
ropertygt
20Expressing Enumerations
Note this is not the standard way of drawing
enumerations
damloneOf
Away
IMStatus
Out to Lunch
Online
Busy
ltdamlClass IDIMStatusgt ltdamloneOf
parseTypedamlcollectiongt ltdamlThing
rdfIDOnline/gt ltdamlThing
rdfIDAway/gt ltdamlThing rdfIDOut to
Lunch/gt ltdamlThing rdfIDBusy/gt lt/damlone
ofgt lt/damlClassgt
21Directed-Graph Representation of Enumerations
damloneOf
damlList
IMStatus
damlfirst
damlrest
Away
damlList
damlrest
damlfirst
damlList
Online
damlrest
damlfirst
damlList
Busy
damlfirst
damlrest
Out to Lunch
damlnil
22Expressing Disjoint Classes
damldisjointWith
Sophomores
Freshmen
Or
damldisjointUnionOf
Seniors
Juniors
CollegeStudents
Sophomores
Freshmen
23Expressing other Class Combinations
damlunionOf
SportsWear
MyProducts
Footwear
HikingGear
damlintersectionOf
Childrens Products
Childrens Clothing
Clothing
24DAML Examples
- An ontology for a Super Sports store.
- http//www.xml.com/2002/03/13/examples/SuperSports
.daml - A List of Songs
- http//web.njit.edu/sat2/rdf/site1
- Lockheed Martin
- http//www.daml.org/crawler/daml/180520.daml
- Expense Reconciliation
- http//www.daml.org/2001/06/expenses/
- DAML Semantic Search Service
- http//reliant.teknowledge.com/DAML/
- Mike Deans Website
- http//www.daml.org/people/mdean/
25DAML Tools
- A DAML Crawler
- http//www.daml.org/crawler/
- DAML Hypertext Markup Tool
- http//plan.mcs.drexel.edu/cgi-bin/daml/markup.pl
- DAML Emacs Mode
- http//openmap.bbn.com/burstein/daml-emacs/
- RDF Visual Authoring Tool
- http//www.w3.org/2001/11/IsaViz/
- WebScripter
- http//www.isi.edu/webscripter/
26DAML-S Towards Semantic Web Services
- DAML mainly provides a way to describe static
content - DAML-S (DAML-Services) is a DAML-based Web
Services Ontology - DAML-S markup of Web services will facilitate
the automation of Web service tasks including
automated Web service discovery, execution,
interoperation, composition and execution
monitoring (from the DAML-S website)
27DAML-S
- Uses DAMLOIL to describe
- types of services (book reviews, airline tickets,
etc.) - how to interact with services (HTTP POST, SOAP,
etc.) - terms and conditions (credit card charges,
shipping, etc.) - Many tools and agent technologies are being
developed to work with this.
(from Mike Deans Tutorial)
28Top Level of the Service Ontology in DAML-S
(from DAML-S Semantic Markup ForWeb Services
by Ankolekar et al, available online at the
DAML-S website)
29A Framework for Semantic Web Services
(from Semantic Web Services by McIlraith et al,
available online at the DAML-S website)
30Example Execution of Agent Technology (from
previous slide)
(from Semantic Web Services by McIlraith et al,
available online at the DAML-S website)
31DAMLOIL, RDF, WSDL, SOAP, etc etc
- According to Uche Ogbuji
- All that WSDL provides could really have been
written in the RDF Serialized format. It is an
odd choice by IBM, Microsoft, and Ariba, not to
consider this (from Supercharging WSDL with
RDF) - RDF provides nice visualization as directed graph
- Can use XSLT to map from WSDL to RDF
32DAMLOIL, RDF, WSDL, UDDI, etc etc
- The Bottom Line
- DAML DAML-S provide semantics that WSDL, UDDI
etc dont provide - But semantic markup can sit on top of efforts
such as WSDL
33References
- DAML Website (many useful links here)
- http//www.daml.org/
- DAML Services Website (many important papers
here) - http//www.daml.org/services/
- Mike Deans Tutorial
- http//www.daml.org/2002/03/tutorial/Overview.html
- Introduction to DAML Tutorial (also links to RDF
tutorial) - http//www.xml.com/pub/a/2002/01/30/daml1.html
- http//www.xml.com/pub/a/2002/03/13/daml.html
- Supercharging WSDL with RDF, by Uche Ogbuji
- http//www-106.ibm.com/developerworks/library/ws-r
df/index.html