DARPA Agent Markup Language (DAML) and Jena
Mike Dean
Principal Investigator,
DAML Integration and Transition
mdean@bbn.com
HP Labs
Bristol, UK
19 June 2002
http://www.daml.org/2002/06/hplb/Overview.html
$Id: all.htm,v 1.6 2002/06/19 10:42:15 mdean Exp $
Objectives
- thanks for Jena
- expose parts of the
DARPA DAML program that you might not have seen before
- raise some points for discussion about Jena
Thanks for Jena
- I and many others are enthusiastic users of
Jena
- the addition of the DAML+OIL layer, RDQL, and other new features is appreciated
- Jena has emerged as a key building block for the Semantic Web
DAML Program
- DARPA Agent Markup Language (DAML)
is a Semantic Web research program funded by the
U.S. Government
- this has been a unique collaboration with EU Semantic Web researchers,
W3C,
and the open source development community
- started in July 2000; funding now budgeted through 2005
- OWL
already viewed as transition success
- more emphasis now on Semantic Web applications showing military utility
- BBN is the
Integration and Transition
contractor coordinating the efforts of
18 research teams
- program is developing tools and applications to span the
Semantic Web lifecycle
- discussion of some of these tools and applications follows
DAML Validator
- performs about 30 checks between DAML content and the ontologies it references
- namespace references
- domain/range/Restriction
- cardinality constraints
- XML Schema datatypes
- ...
- not validation in the XML sense
- web interface or downloadable
- currently uses Sergey Melnik's
RDF API
- no support for
daml:collection
- plans to upgrade to Jena
- see
http://www.daml.org/validator/
dumpont
HyperDAML
AeroDAML
WebScripter
DAML Map
DAML Agenda
DAML DB
- back-burner project to build a highly-scalable persistence mechanism
for RDF/DAML+OIL triples
- 2 memory-mapped files
- resources/literals
- statements
plus a persistent bidirectional string to index map
- lookups and searches traverse linked lists
using integer offsets into these tables
- expected to "work" for the same reasons virtual memory "works"
- locality of reference
- working sets
- targeted for 64-bit architectures (SPARC, Itanium, ...)
- C++ implementation
- Java Native Interface
- Jena Model
- see
http://www.daml.org/2001/09/damldb/
Dynamic Model and Dynamic Viewer
PalmDAML
- early RDF/DAML Viewer for PalmOS PDAs
- not much recent work, unfortunately
- we'd like to work on wireless access to DAML content
- see
http://www.daml.org/PalmDAML/
DAML Emacs Mode
DAML Semantic Search Service
Joint Committee
- independent group
of DAML and EU Semantic Web researchers
- formed to create the language that became DAML+OIL
- currently focusing on DAML Query Language and DAML Rules
- working ahead of W3C working groups
DAML Query Language
DAML Rules
- effort to add rules to ontologies
- intended usage
- property chaining
(e.g. expressing
uncle
in terms of brother and child)
- translation (e.g.
parent and gender to mother)
- computation (e.g.
age from birthDate)
- inference (e.g. 2
siblings have the same father)
- ...
- Benjamin Grosof and Ian Horrocks working on theory to
combine Description Logics and Logic Programming
- loose coordination with
Rule Markup Language (RuleML) Initiative
DAML Services
- created by a coalition of DAML researchers
- use DAML+OIL 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.)
- goes beyond existing Web Services such as
WSDL and
UDDI
- goals:
- process description
- automated invocation
- service composition (lookup books at Amazon, get the New York Times reviews, buy from Barnes and Noble)
- see
http://www.daml.org/services/
DAML .NET API
- we're using Microsoft .NET to develop the GUI for a
major integrating application
- we started with Jason Diamond's
RDF.NET
- now developing a DAML API
- based loosely on Jena
- possible opportunity for collaboration
SONAT Agents
- ontology
(dumpont)
and infrastructure to support persistent agents
- DAML+OIL is used extensively
- to define agent types and instantiations
- to define messages
- to parameterize agents
- Java properties file on steroids
- possible use for contexts
- work-in-progress
- see
http://www.daml.org/2002/03/agents/
Data
- personal opinion:
the key challenge now is to
bootstrap the Semantic Web with sufficient reference data
- we could go a very long way by DAMLizing 100 or so
popular sources
(countries, airports, companies, time zones, colleges and universities, sports teams, etc.)
- positive steps
- dynamic data
- generation from databases
- generation from HTML
- represents "low hanging fruit"
- much easier to convert HTML-producing Active Server Pages or servlets or write new programs
than manually markup lots of data
Data: Exploiting RDF
- 2 virtually unique capabilities of RDF have proven incredibly useful
- adding properties to "someone else's classes"
- statement tagging
- CIA World Factbook
remarks like "(1999 est.)" are captured using
RDF statementIDs
- other uses: provenance, uncertainty, etc.
- examples
(HyperDAML)
DAML Resources
Possible Jena Discussion Topics
- best way to integrate
Dynamic Model
into Jena
- Jena 2.0 architecture
- best way to use
DAML DB
with Jena (Model vs. Store vs. ?)
- plans for inference
- vocabulary generator
- XML Signature
support
- ...