rule languages and rule interchange n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Rule Languages and Rule Interchange PowerPoint Presentation
Download Presentation
Rule Languages and Rule Interchange

Loading in 2 Seconds...

play fullscreen
1 / 27

Rule Languages and Rule Interchange - PowerPoint PPT Presentation


  • 77 Views
  • Uploaded on

Rule Languages and Rule Interchange. Sujit R Nair November 30,2009. Introduction. Need / Requirement. Characteristics of current rule markup Languages. A sample Scenario of Rule Interchange Future Work. Conclusion. Need / Requirement. Expressiveness. Machine-interpretation.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Rule Languages and Rule Interchange' - newman


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
rule languages and rule interchange

Rule Languages and Rule Interchange

Sujit R Nair

November 30,2009

introduction
Introduction
  • Need / Requirement.
  • Characteristics of current rule markup Languages.
  • A sample Scenario of Rule Interchange
  • Future Work.
  • Conclusion.
need requirement
Need / Requirement
  • Expressiveness.
  • Machine-interpretation.
  • Automated Processing.
  • Translation and Interchange.
  • Publication and Serialization.
current rule languages
Current Rule Languages
  • RuleML.
  • SWRL.
  • R2ML.
  • W3C RIF.
  • Triple.
  • N3.
  • Jena Rules.
  • Prova.
ruleml
RuleML
  • Based on XML.
  • Rules consists of derivation, integrity constraints, production, reaction, tools and transformation.
  • Datalog RuleML and Hornlog RuleML.
slide6
SWRL
  • Combining Sublanguages of OWL and RuleML.
  • Union of DLP and Horn Logic.
  • Adds rules at the cost of undecidability and lack of complete implementation.
  • Protégé.
  • Rules = Antecedent + Consequent.
slide7
R2ML
  • Based on concept of RuleML and SWRL.
  • Rules consists of derivation, integrity constraints, production, reaction.
  • MOF/UML support.
w3c rif
W3C RIF
  • Facilitate rule exchange.
  • Dialects.
  • Basic Logic Dialect(RIF-BLD) ↔ Horn Rule Language.
  • Datatypes and Built-Ins(RIF-DTB).
  • Core.
  • Production Rule Dialect.
jena rules
Jena Rules
  • Java Rule object.
  • Jena2 is much simpler, allows rules to be specified in compact form in text source files.
prova
Prova
  • Web rule language + Highly expressive distributed Web rule engine.
  • Supports complex reaction rule-based workflow, rule-based event processing, distributed inference services, rule interchange, rule-based decision logic, dynamic access to external data , Web Services and JAVA APIs.
rule interchange sample
Rule Interchange Sample
  • Using RIF to interchange F-Logic Rules and Drools.
  • Scenario :

To supply a vendor-neutral representation of rules, so that rule-system developers can do their work without concern about a vendor-specific format and in particular without concern about the compatibility with the technology of its business partners.

  • Jane's e-commerce system uses Drools therefore the rules vocabulary is represented using Java beans
  • John uses an OWL vocabulary and its rules are represented in F-Logic.
rule interchange contd
Rule Interchange (contd)
  • The Two rules that are to be implemented :
    • Rule R1: If an item is perishable and it is delivered more than 10 days after the scheduled delivery date then the item will be rejected.
    • Rule R2: If an item is perishable and it is delivered more than 7 days after the scheduled delivery date but less than 14 days after the scheduled delivery date then a discount of 18.7% will be applied to this delivery.
rule interchange contd1
Rule Interchange (contd)
  • Points to be kept in mind:
    • RIF needs to deal with different vocabularies.
    • RIF needs an uniform mechanism to address vocabulary elements. The usage of URI's may be such a mechanism.
    • Vocabulary and rules are separate layers
rule interchange contd2
Rule Interchange (contd)
  • John's OWL vocabulary:

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns="http://www.example.org/JohnSystem/vocabulary">

<owl:Class rdf:ID="Item"/>

<owl:DatatypeProperty rdf:ID="perishable">

<rdfs:domain rdf:resource="#Item"/>

<rdfs:range rdf:resource="xs:boolean"/>

</owl:DatatypeProperty>

rule interchange contd3
Rule Interchange (contd)

<owl:DatatypeProperty rdf:ID="actualDeliveryDate">

<rdfs:domain rdf:resource="#Item"/>

<rdfs:range rdf:resource="xs:date"/>

</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="scheduledDeliveryDate">

<rdfs:domain rdf:resource="#Item"/>

<rdfs:range rdf:resource="xs:date"/>

</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="status">

<rdfs:domain rdf:resource="#Item"/>

<rdfs:range rdf:resource="Status"/>

</owl:DatatypeProperty>

rule interchange contd4
Rule Interchange (contd)

<owl:DatatypeProperty rdf:ID="discount">

<rdfs:domain rdf:resource="#Item"/>

<rdfs:range rdf:resource="xs:double"/>

</owl:DatatypeProperty>

<owl:Class rdf:ID="Delivery"/>

<owl:Class rdf:ID="Status">

<owl:oneOf rdf:parseType="Collection"> <rdf:List>

<rdf:first rdf:datatype="xs:string">rejected</rdf:first> <rdf:rest>

<rdf:first rdf:datatype="xs:string">accepted</rdf:first> </rdf:rest> </rdf:List>

</owl:oneOf>

</owl:Class>

</rdf:RDF>

rule interchange contd5
Rule Interchange (contd)
  • John Rules (F-Logic)

//If an item is perishable and it is delivered more than 10 days after the scheduled delivery date then the item will be rejected

RULE R1 I:item[status -> "rejected"] <-

I:item[isPerishable -> true] AND

I[actualDeliveryDate -> A] AND I[scheduledDeliveryDate -> S] AND

R is (A - S) AND

R > 10.

rule interchange contd6
Rule Interchange (contd)

//If an item is perishable and it is delivered more than 7 days after the scheduled delivery date but less than 14 days after the scheduled delivery date then a discount of 18.7% will be applied to this delivery.

RULE R2 I:item[discount -> 18.7] <-

D:delivery[hasItems->>Items] AND

I:item[isPerishable -> true] AND

I[actualDeliveryDate -> A] AND

I[scheduledDeliveryDate-> S] AND

member(I, Items) AND R is (A - S) AND

R > 7.

rule interchange contd7
Rule Interchange (contd)
  • Jane's Rules (Drools)

package com.sample

import com.sample.Item;

rule "R1" when i :

Item( isPerishable==true,

actualDeliveryDate : actualDeliveryDate,

scheduledDeliveryDate : scheduledDeliveryDate )

eval( actualDeliveryDate.getDay() –

scheduledDeliveryDate.getDay() > 10 )

then i.isRejected(true); modify(i); end

rule interchange contd8
Rule Interchange (contd)

rule "R2" when d:Delivery(hasItems: hasItems) i :

Item(actualDeliveryDate : actualDeliveryDate,

scheduledDeliveryDate : scheduledDeliveryDate )

eval( (actualDeliveryDate.getDay() –

scheduledDeliveryDate.getDay() > 7) &&

hasItems.contains(i))

then i.setDiscount(18.7); modify(i); end

rule interchange contd9
Rule Interchange (contd)
  • Importing Jane's Rules in the John's rule system
    • Translating from Drools into RIF
    • Presentation Syntax proposed by RIF-BLD is used to perform the vocabulary interchange.
rule interchange contd10
Rule Interchange (contd)
  • Translation of Jane's Drools Rules rules into RIF

rule "R1" when i :

Item(isPerishable==true, actualDeliveryDate :

actualDeliveryDate, scheduledDeliveryDate :

scheduledDeliveryDate )

eval( actualDeliveryDate.getDay() –

scheduledDeliveryDate.getDay() > 10)

then i.isRejected(true); modify(i); end

rule interchange contd11
Rule Interchange (contd)

// Translation to RIF Rule ("http://jane.com/R1"  ?i#Item[(isRejected->"true"^^xs:boolean) :- And(?i#Item[(isPerishable->"true"^^xs:boolean) (actualDeliveryDate->?actualDeliveryDate ) (scheduledDeliveryDate ->?scheduledDeliveryDate)] op:numeric-greater-than( op:numeric-subtract( user-defined:getDay(?actualDeliveryDate), user-defined:getDay(?scheduledDeliveryDate) ), "10"^^xs:int ) ) )

future work
Future Work
  • On going research to develop a general rule mark up language.
  • Most of the research is concentrating on RuleML and RIF.
  • To cover the shortcomings such as – procedural call to external objects, operating systems , terminological descriptions for dealing with real world distributed Web Applications.
conclusion
Conclusion
  • Why is rule markup needed ?
  • Currents rule markup languages.
  • RuleML and RIF.
  • W3C RIF BLD provides a robust core for the interchange of business rules among commercial and academic rule systems.
  • Embodies both production rules and derivation rules.
references
References
  • Adrian Paschke , Harold Boley – Rule Markup Languages and SWRL.
  • W3C Rule Interchange Format, http://www.w3.org/2005/rules/wiki/RIF_Working_Group
  • RIF Basic Logic Dialect, http://www.w3.org/TR/rif-bld/
  • W3C RIF Use Cases and Requirements, http://www.w3.org/TR/rif-ucr/
  • Gary Hallmark , Christian de Sainte Marie, Marcos Didonet Del Fabro, Patrick Albert , and Adrian Paschke - Please Pass the Rules: A Rule Interchange Demonstration
contact information
Contact Information

Sujit Raveendran Nair.

Email: srn071000@utdallas.edu.

Phone: 972-983-4886.