An Introduction to Object-Oriented RuleML
Harold Boley
Institute for Information Technology - e-Business
National Research Council
Fredericton, NB, Canada
Semantic Web languages
such as RDF (Schema) and OWL permit object-centered, taxonomic, and
description-logic modeling in the URI-based distributed
information system of the Web. Rule efforts of the Semantic Web
have thus spurred interest in deductive object-oriented databases
and object-extended LP approaches such as F-Logic, TRIPLE, and FORUM. Object-Oriented
RuleML (OO RuleML) is
an extension of the proposed standard Rule Markup Language that
employs object-centered, role-keyed atoms / complex terms (ROLED),
allows URI-grounded, 'webized' facts and rules (GROUNDED), and
permits typed variables via URI links into Web-based taxonomies (TYPED).
ROLED: RuleML's XML/RDF-integrating system syntax augments 'type tags' by
'role tags' that represent the 'slots' or 'features' of type-tagged
objects. OO RuleML makes such role
tags available as a user syntax in atomic formulas and complex
terms: the atom and cterm elements can now contain -- before/after
positional argument children -- non-positional argument
children '_r' (for the metarole 'role') with a required CDATA
attribute 'n' (for the user-defined role 'name'). This also
allows for mixed positional and object-centered
representations. OO RuleML has been extended by role weights
specifying the relative importance of slots. A surprisingly small
change to the DTDs/Schemas was needed for permitting such
user-level roles.
GROUNDED: Facts and rules in OO RuleML can be 'URI-grounded' via labels
containing a Web-identifier attribute, 'wid', which has a URI value
that can be referred to from a complementary 'widref' attribute.
The 'wid'/'widref' pair was inspired both by XML's 'id'/'idref' and
RDF's 'about'/'resource' pairs.
TYPED: OO RuleML variables are optionally typed/sorted via URIs referring
to classes of predefined RDF Schema or OWL taxonomies. XML namespace
declarations can use fragments (#) to point into the RDF Schema documents
containing the required class definitions. A 'var' element can then be
sorted via a 'type' attribute whose value augments the namespace prefix
by the local name identifying the class.
OO RuleML will be introduced using the
Positional-Roled (PR) syntax,
which will also be compared to Notation 3 (N3).
The status of the Java-based OO jDREW implementation
of OO RuleML will be reviewed. Finally, two running applications of
OO RuleML will be sketched: Rule-applying collaborative filtering
(RACOFI) and weighted similarity
matching (Treesim).
|