35
RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web) Harold Boley, DFKI GmbH Online 2002, Düsseldorf, January 29 st , 2002

RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

Embed Size (px)

DESCRIPTION

RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web). Harold Boley, DFKI GmbH. Online 2002, Düsseldorf, January 29 st , 2002. International Initiative RuleML. - PowerPoint PPT Presentation

Citation preview

Page 1: RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

Harold Boley, DFKI GmbH

Online 2002, Düsseldorf,January 29st, 2002

Page 2: RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

RuleML Online 20022

International Initiative RuleML The Rule Markup Initiative works towards W3C submission

representing its various participants from industry and academia

First goal has thus been to provide modular system of RuleML sublanguages based on XML and RDF (Resource Description Framework)

This led to development of novel XML-RDF-integrating Web data model

On its basis, RuleML initially defined with hierarchy of DTDs, gradually redefined with XML Schema

To facilitate rule exchange, XSLT-based translators between RuleML and other rule languages have been specified

Page 3: RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

RuleML Online 20023

Web-Based Business Rules:Merchant-Customer Exchange Scenario (I)

Merchant1 Merchantm

. . .

Customer

requestrules ondiscountsetc.

requestrules ondiscountsetc.

preselect m best merchants(e.g., using purchasing rules)

Page 4: RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

RuleML Online 20024

Merchant1 Merchantm

. . .

Customer

publishrulebase1

publishrulebasem

compare, instantiate,and run rulebases

Web-Based Business Rules:Merchant-Customer Exchange Scenario (II)

translate tostandard format(e.g., RuleML)

Page 5: RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

RuleML Online 20025

Merchanti

Customer

order fromMerchanti

select best deal(e.g., discount)

Web-Based Business Rules:Merchant-Customer Exchange Scenario

(III)

Page 6: RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

RuleML Online 20026

Web-Based Business Rules:Formalize Natural Language in Horn Logic

Prolog-like formalization (with XML underpinnings):

''The discount for a customer buying a product is 5.0 percentif the customer is premium and the product is regular.''''The discount for a customer buying a product is 7.5 percentif the customer is premium and the product is luxury.''. . .

English Business Rules:

Page 7: RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

RuleML Online 20027

Semantics andPragmatics (Implementation)

Original Web: Distributed development, usage and

maintenance of HTML-based informal documents

Semantic Web: Employ same infrastructure for

formal specifications or declarative programs

Which Logics/Languages?

Uniform semantic/pragmatic foundation potential:

– Description Logic: RDF Schema, DAML+OIL for taxonomies

– Horn Logic: Prolog, RuleML for axiomsfor ontologies

Page 8: RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

RuleML Online 20028

Syntax

Syntactic underpinnings, however, will most likely come from

Extensible Markup Language (XML)

Fortunately, translators between Prolog and XML syntaxes can

be defined

Can also form basis for semantic/pragmatic technology

transfers between Prolog and XML

Current talk will exemplify this using XML syntax of

Rule Markup Language (RuleML), Version 0.8

Page 9: RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

RuleML Online 20029

Unify XML and RDF

XML based on, possibly attributed, left-to-right ordered, node-labeled trees, reminiscent of parse (syntax) trees

RDF based on directed, arc-labeled (unordered) graphs with two kinds of nodes, resources and literals, the latter not allowing outgoing arcs

XML and RDF have different data models:

With the advent of the Semantic Web a unified data model would be advantageous

Page 10: RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

RuleML Online 200210

Problem with Positional XML Markup

For marking up 32, an XML element powform might be employed, with the positional convention''First child is base, second child is exponent''

But without some kind of 'signature declaration'this markup could instead mean 23 according to a''First child is exponent, second child is base'' convention

Analogous conventions for N-ary operators (N >2) need to disambiguate a combinatorially exploding number of possible interpretations

Without extra information the positions of 'roles' (powform: base and exponent) of children cannot in general be determined from some such markup

Page 11: RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

RuleML Online 200211

Solution with Non-Positional RDF Markup

In 'object-centered' modeling and 'feature'/'frame' logics the way out is representing powers and other operators in a non-positional manner, making them objects with explicitly indicated roles for their arguments

In Frame/Horn-logic-integrating F-Logic, developed for RDF in TRIPLE, our example could thus be represented as a fact:

powform [base -> 3 : integer;exponent -> 2 : integer].

Page 12: RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

RuleML Online 200212

Non-Positional RuleML Solution

Paralleling this in RuleML, we complement XML 'type tags' by distinguished, RDF-like 'role tags'

Generalizing XML attributes, roles will allow values that themselves contain markup

In our example we thus use powform with _base and _exponent subelements, where the leading ''_'' distinguishes roles:

<powform> <_base><integer>3</integer></_base> <_exponent><integer>2</integer></_exponent></powform>

Page 13: RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

RuleML Online 200213

Role Commutativity

There are two correctly prefixed powform-child permutations, which we regard as algebraically equivalent commutative markups:

<powform> <_base><integer>3</integer></_base> <_exponent><integer>2</integer></_exponent></powform>

<powform> <_exponent><integer>2</integer></_exponent> <_base><integer>3</integer></_base></powform>

=

Page 14: RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

RuleML Online 200215

Order-Labeled Combination

For the sequence 3, 9 combined with the formula 32:

<powseqform> <rational>3</rational> <rational>9</rational> <_base><integer>3</integer></_base> <_exponent><integer>2</integer></_exponent></powseqform>

9

rational

powseqform

3

rational

3 2

integer integer

base exponent

Page 15: RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

RuleML Online 200217

Relation Applications in RuleML

A predicate or relation symbol will in RuleML be a rel element. The application of an _opr-role-embedded relation symbol to a sequence of terms is marked by an atom element in RuleML

Example: travel applicationtravel(john,channel-tunnel)to two individual constants will thus be:

<atom> <_opr><rel>travel</rel></_opr> <ind>john</ind> <ind>channel-tunnel</ind></atom>

Page 16: RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

RuleML Online 200218

Facts in RuleML

Horn fact in RuleML is asserted as a fact element that possesses exactly one subelement -- the _head-role-embedded atom element

Example: travel fact (containing travel application)

travel(john,channel-tunnel). becomes:

<fact> <_head> <atom> <_opr><rel>travel</rel></_opr> <ind>john</ind> <ind>channel-tunnel</ind> </atom>

</_head></fact>

Tree structure?fact

Subtree

_head

XML

fact

head

Subtree

OrdLab

Page 17: RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

RuleML Online 200219

Derivation Rules in RuleML: Source

Horn rule in RuleML is asserted as an imp elementthat has two subelements -- a _head-role atom element augmented (either to its right or left) by a _body-role atom or and element

Example: travel rule (Datalog)

travel(Someone,channel-tunnel) :- carry(eurostar,Someone).

rewritten in RuleML thus:

Page 18: RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

RuleML Online 200220

Derivation Rules in RuleML: Markup

<imp> <_head> <atom> <_opr><rel>travel</rel></_opr> <var>someone</var> <ind>channel-tunnel</ind> </atom> </_head> <_body> <atom> <_opr><rel>carry</rel></_opr> <ind>eurostar</ind> <var>someone</var> </atom> </_body></imp>

Page 19: RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

RuleML Online 200221

Derivation Rules in RuleML: Tree

Graph-theoretically, RuleML clauses are again OrdLab trees, as illustrated for this rule:

imp

travel someone

atom atom

head body

opr opr

rel

carrychannel-tunnel someoneeurostar

var varindind rel

Page 20: RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

RuleML Online 200222

The RuleML DTD/Schema Hierarchy

urc-bin-data-ground-facturc-bin-data-ground-log

urc-bin-datalog

bin-datalogurc-datalog

ur-datalog

ur-hornlog

ur-equalog

hornlog

equalog

datalogur

Rooted DAG will be extended withbranches for further sublanguages

URL/URI-like‘ur’-objects

ruleml

RDF-like triples

ur-datalog =

join(ur,datalog)

Focus on 12 sublanguages of derivation rule modules:All except the 'UR' (URL/URI) group correspond to well-known rule systems, with formal semantics

Page 21: RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

RuleML Online 200223

Derivation Rules in UR-Datalog: Indexing

<imp> <_head> <atom> <_opr><rel>travel</rel></_opr> <var>someone</var> <ind href="... .com">channel-tunnel</ind> </atom> </_head> <_body> <atom> <_opr><rel>carry</rel></_opr> <ind href="www.eurostar.com">eurostar</ind> <var>someone</var> </atom> </_body></imp>

Page 22: RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

RuleML Online 200224

Modular Sublanguage Composition

Each node in above hierarchy, e.g. 'hornlog', is a DTD/Schema that defines syntax of this sublanguage: Knowledge bases can refer to most specific DTD/Schema to maximize interoperability

Non-leaf nodes are composed of the -- possibly modified -- node(s) reachable via outgoing link(s) below plus possibly some extra definition parts

Example: 'hornlog' is composed of a -- slightly modified -- 'datalog' plus complex terms; 'datalog' itself contains 'bin-datalog', etc.

Page 23: RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

RuleML Online 200225

From DTD to XML Schema: rulebases

DTD line (XML in EBNF-like SGML subset):

<!ELEMENT rulebase ((imp | fact)*)>

Schema part (official way to define XML in XML):<xsd:schema xmlns:xsd="http://...w3.org...XMLSchema">

<xsd:element name="rulebase"> <xsd:complexType> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element name="imp" type="impType"/> <xsd:element name="fact" type="factType"/> </xsd:choice> </xsd:complexType> </xsd:element> . . .

Page 24: RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

RuleML Online 200226

From DTD to XML Schema: implications

DTD line (permuted _head / _body sequences):<!ELEMENT imp ((_head, _body) | (_body, _head))>

Schema part (unordered xsd:all set): . . .

<xsd:complexType name="impType"> <xsd:all> <xsd:element name="_head" type="_headType" minOccurs="1" maxOccurs="1"/> <xsd:element name="_body" type="_bodyType" minOccurs="1" maxOccurs="1"/> </xsd:all> </xsd:complexType> . . .

Page 25: RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

RuleML Online 200228

HTML Rendering of Business Rules

Before our XML-to-XML roundtrip: RFML version, via XML-to-HTML stylesheet rfmlsp, will lead to font-and-color-coded HTML Prolog version, rendered in a browser (first line is sample rule):

Page 26: RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

RuleML Online 200229

XSL Transformations from and to RuleML

Exemplary pair of 'inverse' translators ('stylesheets') exporting/importing markup between RuleML and RFML (Relational-Functional Markup Language),where only the logic part is needed for Prolog:

Export via ruleml2rfml.xsl:Stylesheet translates Hornlog RuleML rulebase to corresponding RFML program

Import via rfml2ruleml.xsl:Stylesheet translates a Hornlog RFML program to corresponding RuleML rulebase

Page 27: RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

RuleML Online 200230

Bi-Transforming Discount Sample Rule''The discount for a customer buying a product is 5.0 percentif the customer is premium and the product is regular.''

<rulebase> <imp> <_head> <atom> <_opr><rel>discount</rel></_opr> <var>customer</var> <var>product</var> <ind>5.0 percent</ind> </atom> </_head> <_body> <and> <atom> <_opr><rel>premium</rel></_opr> <var>customer</var> </atom> <atom> <_opr><rel>regular</rel></_opr> <var>product</var> </atom> </and> </_body> </imp></rulebase>

<rfml> <hn>

<pattop> <con>discount</con> <var>customer</var> <var>product</var> <con>5.0 percent</con> </pattop>

<callop> <con>premium</con> <var>customer</var> </callop> <callop> <con>regular</con> <var>product</var> </callop>

</hn></rfml>

ruleml2rfml.xsl

rfml2ruleml.xsl

Page 28: RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

RuleML Online 200231

Export from RuleML: Tree Rewriting (I)

rulebase

Subtree Subtree. . .

rfml

. . .

Subtree Subtree

What does this XML processing look like in XML?

Page 29: RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

RuleML Online 200232

Export from RuleML: Implementation (I)

First XSLT rule ('template') matches document root ''/'' followed by rulebase element;it 'recursively' maps ('applies') all matching templates to all rulebase subelements and generates rfml element from result:

<!-- process rulebase and position fact/imp transformers --><xsl:template match="/rulebase"> <rfml> <xsl:apply-templates/> </rfml></xsl:template>

Page 30: RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

RuleML Online 200233

Export from RuleML: Tree Rewriting (II)

fact

Subtree

_head

hn

Subtree

Page 31: RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

RuleML Online 200234

Export from RuleML: Implementation (II)

Second template matches fact element, does apply-templates over its _head in mode pattop (for RFML's operator patterns),and generates hn element from result:

<!-- process fact, transforming it to hn clause without premises --><xsl:template match="fact"> <hn> <xsl:apply-templates select="_head" mode="pattop"/> </hn></xsl:template>

Page 32: RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

RuleML Online 200235

Export from RuleML: Tree Rewriting (III)

atom

PCDATA

_opr

rel

Argterm Argterm. . .

pattop

PCDATA

con. . .

Argterm Argterm

atom

Argterm Argterm. . .

PCDATA

_opr

rel

Implementation details: ruleml2rfml.xsl

Page 33: RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

RuleML Online 200238

Web Technology for Prolog

Prepared semantic-pragmatic XML-Prolog transfers

using XML syntax: http://www.dfki.de/ruleml

XML-RDF-integrating data model used as basis for

DTD/Schema definitions of Prolog on the Web

Started semantic-pragmatic transfers in direction

XML-to-Prolog by specifying (semantics-preserving)

XSLT-based translators RuleML RFML

It is now possible to build and exchange

Prolog knowledge bases over the Web

Page 34: RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

RuleML Online 200239

Web Technology for General Use: DTDs and XSLT are Still Most Practical,XML Schema and XQuery are Promising Demonstrated practical use of W3C technologies

such as DTDs and XML Schema as well as XSLT On the other hand hinted at a few problems with

current version of XML Schema, hoping that more expressive version will be available in future

Functional and logic programmers may also have wondered whether XSLT-based translators could be specified more concisely in future version of XSLT

Perhaps XQuery can act as incentive towards formal semantics of XML queries and transformations

Page 35: RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web)

RuleML Online 200240

Prolog Technology for the Web

Corresponding transfers in Prolog-to-XML direction

have already started with Mandarax, j-DREW, and

other RuleML engines based on Prolog technology

It may also be useful to implement (orthogonalized

versions of) XML Schema, XSLT, etc. in (RuleML

and) Prolog to explore limits of expressiveness that

can be realized formally and efficiently

Side-effect of this work could be translators between

XML syntax and more concise Prolog syntax for W3C

languages such as XML Schema and XSLT