Upload
cedric-reilly
View
29
Download
0
Tags:
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
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
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
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)
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)
RuleML Online 20025
Merchanti
Customer
order fromMerchanti
select best deal(e.g., discount)
Web-Based Business Rules:Merchant-Customer Exchange Scenario
(III)
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:
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
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
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
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
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].
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>
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>
=
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
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>
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
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:
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>
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
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
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>
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.
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> . . .
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> . . .
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):
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
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
RuleML Online 200231
Export from RuleML: Tree Rewriting (I)
rulebase
Subtree Subtree. . .
rfml
. . .
Subtree Subtree
What does this XML processing look like in XML?
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>
RuleML Online 200233
Export from RuleML: Tree Rewriting (II)
fact
Subtree
_head
hn
Subtree
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>
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
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
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
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