Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web) Harold Boley, DFKI GmbH Online 2002, Düsseldorf, January."— 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 29 st, 2002

2 RuleML Online 2002 1 International Initiative RuleML The Rule Markup Initiative works towards W3C submission representing its various participants from industry and academiaRule Markup Initiative 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

3 RuleML Online 2002 2 Web-Based Business Rules: Merchant-Customer Exchange Scenario (I) Merchant 1 Merchant m... Customer request rules on discounts etc. request rules on discounts etc. preselect m best merchants (e.g., using purchasing rules)

4 RuleML Online 2002 3 Merchant 1 Merchant m... Customer publish rulebase 1 publish rulebase m compare, instantiate, and run rulebases Web-Based Business Rules: Merchant-Customer Exchange Scenario (II) translate to standard format (e.g., RuleML)

5 RuleML Online 2002 4 Merchant i Customer order from Merchant i select best deal (e.g., discount) Web-Based Business Rules: Merchant-Customer Exchange Scenario (III)

6 RuleML Online 2002 5 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 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.''... English Business Rules:

7 RuleML Online 2002 6 Semantics and Pragmatics (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+OILfor taxonomies – Horn Logic: Prolog, RuleMLfor axioms for ontologies

8 RuleML Online 2002 7 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

9 RuleML Online 2002 8 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 advantageousSemantic Web

10 RuleML Online 2002 9 Problem with Positional XML Markup For marking up 3 2, 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 2 3 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

11 RuleML Online 2002 10 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].

12 RuleML Online 2002 11 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: 3 2

13 RuleML Online 2002 12 Role Commutativity There are two correctly prefixed powform -child permutations, which we regard as algebraically equivalent commutative markups: 3 2 2 3 =

14 RuleML Online 2002 13 Graph Identity and Markup Equation Graph-theoretically, our data model permits trees with unordered arcs labeled by their roles, here base and exponent, and nodes as introduced earlier: powform 32 integer baseexponent Generally, for trees branching order of (explicitly labeled) arcs is immaterial and for markups equation holds: =...............

15 RuleML Online 2002 14 Order-Labeled Combination For the sequence 3, 9 combined with the formula 3 2 : 3 9 3 2 9 rational powseqform 3 rational 32 integer baseexponent

16 RuleML Online 2002 15 OrdLab Tree Graph-theoretically, positional children become left-to- right-ordered arcs, here targeting the rational s 3 and 9, while role children become labels on un- ordered arcs, here targeting the integer s 3 and 2 (different arrows emphasize ordered vs. labeled arcs): 9 rational powseqform 3 rational 32 integer baseexponent

17 RuleML Online 2002 16 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 application travel(john,channel-tunnel) to two individual constants will thus be: travel john channel-tunnel

18 RuleML Online 2002 17 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: travel john channel-tunnel Tree structure? fact Subtree _head XML fact head Subtree OrdLab

19 RuleML Online 2002 18 Derivation Rules in RuleML: Source Horn rule in RuleML is asserted as an imp element 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:

20 RuleML Online 2002 19 Derivation Rules in RuleML: Markup travel someone channel-tunnel carry eurostar someone

21 RuleML Online 2002 20 Derivation Rules in RuleML: Tree Graph-theoretically, RuleML clauses are again OrdLab trees, as illustrated for this rule:

22 RuleML Online 2002 21 The RuleML DTD/Schema Hierarchy urc-bin-data-ground-fact urc-bin-data-ground-log urc-bin-datalog bin-datalogurc-datalog ur-datalog ur-hornlog ur-equalog hornlog equalog datalog ur Rooted DAG will be extended with branches 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

23 RuleML Online 2002 22 Derivation Rules in UR-Datalog: Indexing travel someone channel-tunnel carry eurostar someone

24 RuleML Online 2002 23 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.

25 RuleML Online 2002 24 From DTD to XML Schema: rulebase s DTD line (XML in EBNF-like SGML subset): Schema part (official way to define XML in XML):...

26 RuleML Online 2002 25 From DTD to XML Schema: imp lications DTD line (permuted _head / _body sequences): Schema part (unordered xsd:all set):... <xsd:element name="_head" type="_headType" minOccurs="1" maxOccurs="1"/> <xsd:element name="_body" type="_bodyType" minOccurs="1" maxOccurs="1"/>...

27 RuleML Online 2002 26 Extending Datalog to Full Prolog Remaining essential lines of 'datalog' DTD:'datalog' DTD We are currently investigating for XML Schema version the issue of composition mechanisms better than conditional DTD parts, involving xsd:redefineXML Schema versionissue of composition mechanisms better than conditional DTD parts Extended atom plus cterm lines for 'hornlog' DTD:'hornlog' DTD | cterm

28 RuleML Online 2002 27 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): rfmlsp

29 RuleML Online 2002 28 XSL Transformations from and to RuleML Exemplary pair of 'inverse' translators ('stylesheets') exporting/importing markup between RuleML and RFML (Relational-Functional Markup Language),'inverse' translatorsRelational-Functional Markup Language where only the logic part is needed for Prolog: Export via ruleml2rfml.xsl : ruleml2rfml.xsl Stylesheet translates Hornlog RuleML rulebase to corresponding RFML program Import via rfml2ruleml.xsl : rfml2ruleml.xsl Stylesheet translates a Hornlog RFML program to corresponding RuleML rulebase

30 RuleML Online 2002 29 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.'' discount customer product 5.0 percent premium customer regular product discount customer product 5.0 percent premium customer regular product ruleml2rfml.xsl rfml2ruleml.xsl

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

32 RuleML Online 2002 31 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 -->

33 RuleML Online 2002 32 Export from RuleML: Tree Rewriting (II) fact Subtree _head hn Subtree

34 RuleML Online 2002 33 Export from RuleML: Implementation (II) Second template matches fact element, does apply-templates over its _head in mode pattop (for RFML's op erator patt erns), and generates hn element from result: <!-- process fact, transforming it to hn clause without premises --> <xsl:apply-templates select="_head" mode="pattop"/>

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

36 RuleML Online 2002 35 Import to RuleML: Implementation (I) First template is exact 'inverse' of the first ruleml2rfml template: <!-- process rfml program and position hn transformer -->

37 RuleML Online 2002 36 Import to RuleML: Implementation (II) Second template matches hn element, and, for fact case, expects one child; fact element with _ head role is generated from result of apply- templates over the pattop :...

38 RuleML Online 2002 37 Web Technology for Prolog Prepared semantic-pragmatic XML-Prolog transfers using XML syntax: http://www.dfki.de/rulemlhttp://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

39 RuleML Online 2002 38 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 transformationsXQuery

40 RuleML Online 2002 39 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 technologyRuleML 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


Download ppt "RuleML: Markup von Regelwerken im Semantischen Web (Markup of Rule Systems in the Semantic Web) Harold Boley, DFKI GmbH Online 2002, Düsseldorf, January."

Similar presentations


Ads by Google