Experiences Using Rules with DAML+OIL
Mike Dean
Principal Investigator,
DAML Integration and Transition
Chair,
Joint US/EU ad hoc Agent Markup Language Committee
mdean@bbn.com
Dagstuhl Seminar 02061: Rule Markup Techniques for the Semantic Web
Schloss Dagstuhl, Germany
8 February 2002
http://www.daml.org/2002/02/dagstuhl-rules/Overview.html
$Id: all.htm,v 1.8 2002/02/20 05:17:30 mdean Exp $
Outline
- 2 Small Uses of Rules with DAML+OIL
- Use of Rules with DAML Agenda
- Toward DAML-Rules
- Conclusions
Ontology Translation: GEDCOM
- GEDCOM is a standard representation for genealogy data
- I had previously developed a
GEDCOM to DAML converter
- the "normalized" GEDCOM
model uses
childIn
and
parentIn
rather than familiar family relations
- I used
RuleML 0.7
to
define
father, child, uncle, etc.
- I developed XSLT stylesheet converters and used these rules with
- This worked well, but identified a couple shortcomings in
RuleML 0.7
- inability to specify that 2 variables couldn't bind to the same
instance
(needed for
sibling)
- inability to express negation
(probably needed for
stepchild)
- See
here
for more information.
Expense Reconciliation
- I've long wanted to reconcile my expense reports, credit card charges,
and bank statements.
- I wrote converters to convert each of these data sources into
DAML+OIL instances
- I wrote
matching rules
in
JESS
to reconcile expenses and identify unmatched expenses
- Unfortunately,
I haven't reclaimed any money yet, but I'm still trying
- See
here
for more information.
DAML Agenda
- the
DAML Agenda
example shown
yesterday
could use rules in several ways:
- computing start/end times based on Day start and durations
- needs procedural attachments to add XML Schema
timeInstant
and
timeDuration
- because of the use of
daml:collection,
aggregating Day and Block times may be a challenge
- constraint checking
- a Break is required at least every 2 hours
- no person should be both chair and a speaker in the same Block
- implementation mechanism for
daml:sameClassAs
and
daml:samePropertyAs
- translating
to
(inverse, property chaining)
- extended classification, e.g.
InternationalMeeting
is a
Meeting
where
speakers come from more than one
Country
Reasoning With DAML+OIL
- a summary of some of the tools being used with DAML+OIL is available
here
Toward DAML-Rules
- rules have been identified as a key issue by the DAML+OIL user community
- a summary of some previous proposals is available
here
- Stefan Decker collected a
summary
of various ways users hope to use rules with DAML+OIL
- I hope the Dagstuhl seminar will result in a new rules proposal
for the
Joint Committee
- as DAML+OIL influenced
WebOnt,
DAML-Rules may similarly influence a subsequent
W3C Rules Working Group
- the
WebOnt charter
specifically excludes rules,
giving us more time to gain experience and make recommendations
Conclusions
- rules are an important and necessary addition to the ontologies defined by
DAML+OIL
- although DAML+OIL doesn't currently support rules,
one can still use rules with DAML+OIL
- write rules directly for your rule engine
- use RuleML
- such use provides valuable experience in combining rules with ontologies
- identifies requirements for DAML-Rules
Fun
A Vision for the Semantic Web
- Before I leave for Dagstuhl I should be able to click on the seminar link
and download into
PalmDAML:
- the seminar
agenda
- my
travel itinerary
- airplane/train schedules,
driving directions
- a
map
showing where participants are from
- CVs for all participants
- ...
- Rules will play a major role in making this happen!