1 / 35

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 29 st , 2002. International Initiative RuleML.

Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. International Initiative RuleML • The Rule Markup Initiativeworks 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) Introduction • 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 2002

  3. Merchant1 Merchantm . . . request rules on discounts etc. request rules on discounts etc. preselect m best merchants (e.g., using purchasing rules) Customer Web-Based Business Rules:Merchant-CustomerExchangeScenario(I) Introduction RuleML Online 2002

  4. Merchant1 Merchantm Customer Web-Based Business Rules:Merchant-CustomerExchangeScenario(II) . . . translate to standard format (e.g., RuleML) publish rulebase1 publish rulebasem Introduction compare, instantiate, and run rulebases RuleML Online 2002

  5. Merchanti Customer Web-Based Business Rules:Merchant-CustomerExchangeScenario(III) order from Merchanti Introduction select best deal (e.g., discount) RuleML Online 2002

  6. English Business Rules: ''The discount for a customer buying a product is 5.0 percent if the customer is premium and the product is regular.'' ''The discount for a customer buying a product is 7.5 percent if the customer is premium and the product is luxury.'' . . . Prolog-like formalization (with XML underpinnings): Web-Based Business Rules:Formalize NaturalLanguage in HornLogic Introduction RuleML Online 2002

  7. for ontologies Semantics andPragmatics (Implementation) • Original Web: Distributed development, usage and maintenance of HTML-basedinformaldocuments • Semantic Web: Employ same infrastructure for formal specifications or declarative programs Introduction Which Logics/Languages? • Uniform semantic/pragmatic foundation potential: • Description Logic: RDF Schema, DAML+OIL for taxonomies • Horn Logic: Prolog,RuleML for axioms RuleML Online 2002

  8. 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 ofRule Markup Language (RuleML), Version 0.8 Introduction RuleML Online 2002

  9. UnifyXML and RDF XML and RDF have different data models: • 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 Data Model With the advent of the Semantic Web a unified data model would be advantageous RuleML Online 2002

  10. 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 Data Model RuleML Online 2002

  11. 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: Data Model powform [base -> 3 : integer; exponent -> 2 : integer]. RuleML Online 2002

  12. 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: Data Model <powform> <_base><integer>3</integer></_base> <_exponent><integer>2</integer></_exponent> </powform> RuleML Online 2002

  13. 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> Data Model = <powform> <_exponent><integer>2</integer></_exponent> <_base><integer>3</integer></_base> </powform> RuleML Online 2002

  14. powseqform base exponent rational rational integer integer 9 3 3 2 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> Data Model RuleML Online 2002

  15. Relation Applicationsin RuleML A predicate or relation symbol will in RuleML be a relelement. The application of an _opr-role-embedded relation symbol to a sequence of terms is marked by an atomelement in RuleML Example: travel applicationtravel(john,channel-tunnel)to two individual constants will thus be: Clauses in RuleML <atom> <_opr><rel>travel</rel></_opr> <ind>john</ind> <ind>channel-tunnel</ind> </atom> RuleML Online 2002

  16. fact fact _head head Subtree Subtree XML OrdLab Facts in RuleML Horn fact in RuleML is asserted as a factelement that possesses exactly one subelement -- the _head-role-embedded atom element Example: travel fact (containing travel application)travel(john,channel-tunnel). becomes: Clauses in RuleML <fact> <_head> <atom> <_opr><rel>travel</rel></_opr> <ind>john</ind> <ind>channel-tunnel</ind> </atom> </_head> </fact> Tree structure? RuleML Online 2002

  17. Derivation Rulesin RuleML: Source Horn rule in RuleML is asserted as an impelement that 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: Clauses in RuleML RuleML Online 2002

  18. Derivation Rulesin 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> Clauses in RuleML RuleML Online 2002

  19. Derivation Rulesin RuleML: Tree Graph-theoretically, RuleML clauses are again OrdLab trees, as illustrated for this rule: Clauses in RuleML RuleML Online 2002

  20. ruleml ur-equalog Rooted DAG will be extended with branches for further sublanguages equalog ur-hornlog hornlog ur-datalog ur-datalog = join(ur,datalog) datalog ur urc-datalog bin-datalog URL/URI-like ‘ur’-objects urc-bin-datalog urc-bin-data-ground-log urc-bin-data-ground-fact RDF-like triples The RuleML DTD/Schema Hierarchy Focus on 12 sublanguages of derivation rule modules: All except the 'UR' (URL/URI) group correspond to well-known rule systems, with formal semantics DTD and Schema RuleML Online 2002

  21. Derivation Rulesin 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> DTD and Schema RuleML Online 2002

  22. 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. DTD and Schema RuleML Online 2002

  23. 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> . . . DTD and Schema RuleML Online 2002

  24. 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> . . . DTD and Schema RuleML Online 2002

  25. 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): XSLT translators RuleML Online 2002

  26. 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 XSLT translators RuleML Online 2002

  27. Bi-Transforming Discount Sample Rule ''The discount for a customer buying a product is 5.0 percent if 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 XSLT translators rfml2ruleml.xsl RuleML Online 2002

  28. rulebase . . . Subtree Subtree rfml . . . Subtree Subtree Export from RuleML: Tree Rewriting (I) XSLT translators What does this XML processing look like in XML? RuleML Online 2002

  29. 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> XSLT translators RuleML Online 2002

  30. fact _head Subtree Export from RuleML: Tree Rewriting (II) XSLT translators hn Subtree RuleML Online 2002

  31. Export from RuleML: Implementation (II) Second template matches fact element, does apply-templates over its _head in modepattop (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> XSLT translators RuleML Online 2002

  32. Argterm Argterm Export from RuleML: Tree Rewriting (III) atom atom . . . . . . _opr _opr Argterm Argterm Argterm Argterm rel rel PCDATA PCDATA XSLT translators pattop . . . con PCDATA Implementation details:ruleml2rfml.xsl RuleML Online 2002

  33. 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 exchangeProlog knowledge bases over the Web Conclusions RuleML Online 2002

  34. 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 Conclusions RuleML Online 2002

  35. 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 Conclusions RuleML Online 2002

More Related