Presentation is loading. Please wait.

Presentation is loading. Please wait.

Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

Similar presentations


Presentation on theme: "Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,"— Presentation transcript:

1 Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton, NB, Canada Keynote at Keynote at ICDIM 2010ICDIM 2010 6 July 2010

2 1Outline Rule Responder Overview Rule Responder Overview Agent Types Agent Types Personal, Organizational, and External Personal, Organizational, and External Infrastructure for Realizing Agents Infrastructure for Realizing Agents Reaction RuleML Messages: Performatives Reaction RuleML Messages: Performatives Mule ESB: Communication Middleware Mule ESB: Communication Middleware Rule Engines: Prova, OO jDREW, and DR-Device Rule Engines: Prova, OO jDREW, and DR-Device Symposium Planner Use Case Symposium Planner Use Case Query Delegation and Answering Query Delegation and Answering Knowledge in Organizational and Personal Agents Knowledge in Organizational and Personal Agents Role Assignment Ontology: Topic  Personal Agent Role Assignment Ontology: Topic  Personal Agent Assisting the General, Publicity, and Program Chairs Assisting the General, Publicity, and Program Chairs Conclusion and Future Work Conclusion and Future Work

3 2 Overview of Rule Responder (I) Rule Responder is a multi-agent system for collaborative team and community support on the (Semantic) Web Rule Responder is a multi-agent system for collaborative team and community support on the (Semantic) Web Enables rule-based collaboration between the distributed human members  persons  of such a virtual organization Enables rule-based collaboration between the distributed human members  persons  of such a virtual organization Persons of an organization are assisted by semi-automated rule-based agents, which use rules (and various ontologies) to describe the decision and behavioral logic Persons of an organization are assisted by semi-automated rule-based agents, which use rules (and various ontologies) to describe the decision and behavioral logic

4 3 Overview of Rule Responder (II) Uses languages and engines of the RuleML family for rule serialization, based on logic and XML: Uses languages and engines of the RuleML family for rule serialization, based on logic and XML: Hornlog RuleML: Reasoning ( decision ) Hornlog RuleML: Reasoning ( decision ) Reaction RuleML: Interaction ( behavior ) Reaction RuleML: Interaction ( behavior ) Implemented on top of a Mule-based Enterprise Service Bus (ESB) as a Service Oriented Architecture (SOA) Implemented on top of a Mule-based Enterprise Service Bus (ESB) as a Service Oriented Architecture (SOA)

5 4 Personal Agents A personal agent assists a person  or a tight subteam  of an organization, semi-autonomously acting on their behalf A personal agent assists a person  or a tight subteam  of an organization, semi-autonomously acting on their behalf It works on a profile of FOAF*-like facts plus FOAF-extending rules that encode ‘routine’ knowledge of its human owner(s) It works on a profile of FOAF*-like facts plus FOAF-extending rules that encode ‘routine’ knowledge of its human owner(s) * The Friend of a Friend (FOAF) project: http://www.foaf-project.orghttp://www.foaf-project.org

6 5 Organizational Agents An organizational agent represents goals and strategies shared by each member of the organization An organizational agent represents goals and strategies shared by each member of the organization It contains rule* sets that describe the policies, regulations, opportunities, and expertise of its organization It contains rule* sets that describe the policies, regulations, opportunities, and expertise of its organization * For brevity the term ‘rule’ encompasses ‘fact’ (which is a rule without premises)

7 6 External Agents External agents exchange messages with (the public interface of) organizational agents, sending queries (requests), receiving answers (results), or interchanging complete rule sets External agents exchange messages with (the public interface of) organizational agents, sending queries (requests), receiving answers (results), or interchanging complete rule sets End users, via external agents, employ the Web (HTTP) interface of Rule Responder (currently an API-like browser interface) End users, via external agents, employ the Web (HTTP) interface of Rule Responder (currently an API-like browser interface) Support for simultaneous external agents: - Currently, end users (B2C) - Ultimately, other organizations (B2B) Support for simultaneous external agents: - Currently, end users (B2C) - Ultimately, other organizations (B2B)

8 7 Rule Responder as a Multi-Agent Infrastructure Rule Responder realizes virtual organizations in which an OA links between an EA and PAs Rule Responder realizes virtual organizations in which an OA links between an EA and PAs Built on top of the Mule ESB Built on top of the Mule ESB Each OA is realized with an instance of a Rule Engine Each OA is realized with an instance of a Rule Engine Each PA is realized with a Servlet using a Rule Engine  sometimes several Each PA is realized with a Servlet using a Rule Engine  sometimes several Combines ideas of multi-agent systems, distributed rule management systems, as well as service-oriented and event-driven architectures Combines ideas of multi-agent systems, distributed rule management systems, as well as service-oriented and event-driven architectures

9 8 Two Simple Rule Responder Virtual Organizations on ESB Infrastructure

10 9 Translation Between PAs' Native Languages and OA's Interchange Language Each rule engine can use its own rule language Each rule engine can use its own rule language Agents require an interchange language so they can communicate with each other Agents require an interchange language so they can communicate with each other Rule Responder uses RuleML as its interchange language Rule Responder uses RuleML as its interchange language Translations between the interchange language and the PA languages are done by the PAs Translations between the interchange language and the PA languages are done by the PAs

11 10 Reaction RuleML Reaction RuleML is a branch of the RuleML family that supports actions and events Reaction RuleML is a branch of the RuleML family that supports actions and events When two agents want to communicate, each others’ Reaction RuleML messages are sent through the ESB When two agents want to communicate, each others’ Reaction RuleML messages are sent through the ESB The ESB carries RuleML queries (requests), answers (results), and rule bases to/from agents The ESB carries RuleML queries (requests), answers (results), and rule bases to/from agents

12 11 Example Reaction RuleML Message <RuleML xmlns="http://www.ruleml.org/0.91/xsd" <RuleML xmlns="http://www.ruleml.org/0.91/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ruleml.org/0.91/xsd xsi:schemaLocation="http://www.ruleml.org/0.91/xsd http://ibis.in.tum.de/research/ReactionRuleML/0.2/rr.xsd" http://ibis.in.tum.de/research/ReactionRuleML/0.2/rr.xsd" xmlns:ruleml2010="http://ibis.in.tum.de/projects/paw#"> xmlns:ruleml2010="http://ibis.in.tum.de/projects/paw#"> RuleML-2010 RuleML-2010 esb esb User User getContact getContact ruleml2010_PanelChair ruleml2010_PanelChair update update Contact Contact

13 12 Message Performatives The attribute directive="..." specifies the pragmatic performative The attribute directive="..." specifies the pragmatic performative Message exchange/interaction protocols Message exchange/interaction protocols Rule Responder Performatives Rule Responder Performatives In tradition of KQML and FIPA-ACL In tradition of KQML and FIPA-ACL Currently implemented: Query and Answer Currently implemented: Query and Answer Retract and Update requests planned in collaboration with W3C RIF-PRD / OMG PRR Retract and Update requests planned in collaboration with W3C RIF-PRD / OMG PRR

14 13 Agent Communication Protocols WSDL-like communication protocols: In-Only In-Only Message is sent from agent 1 to agent 2 ; then agent 2 executes performative Message is sent from agent 1 to agent 2 ; then agent 2 executes performative Request-Response Request-Response Performs above In-Only; then agent 2 sends response to agent 1 Performs above In-Only; then agent 2 sends response to agent 1 Request-Response-Acknowledge Request-Response-Acknowledge Performs Request-Response; then agent 1 sends an acknowledgement to agent 2 Performs Request-Response; then agent 1 sends an acknowledgement to agent 2 Workflows Workflows Generalizes the above protocols to allow other compositions of message interchange between agents Generalizes the above protocols to allow other compositions of message interchange between agents

15 14 Communication Middleware Mule Enterprise Service Bus (ESB) Mule Enterprise Service Bus (ESB) Mule* is used to create communication end points at each personal and organizational agent of Rule Responder Mule* is used to create communication end points at each personal and organizational agent of Rule Responder Mule supports around 50 transport protocols (includingHTTP, JMS, JDBC,SOAP) Mule supports around 50 transport protocols (including HTTP, JMS, JDBC, and SOAP) Rule Responder currently uses HTTP and JMS as transport protocols Rule Responder currently uses HTTP and JMS as transport protocols http://mulesource.com http://mulesource.com * Mule – The open source SOA infrastructure: http://mulesource.com http://mulesource.com

16 15 Rule Engines Prova: Prolog + Java Prova: Prolog + Java OO jDREW: Object Oriented java Deductive Reasoning Engine for the Web OO jDREW: Object Oriented java Deductive Reasoning Engine for the Web DR-Device: Defeasible Logic Reasoner for the Semantic Web DR-Device: Defeasible Logic Reasoner for the Semantic Web

17 16 Prova Prova is mainly used to realize the organizational agents of Rule Responder Prova is mainly used to realize the organizational agents of Rule Responder It implements Reaction RuleML for agent interaction (event-condition-action rules) It implements Reaction RuleML for agent interaction (event-condition-action rules)

18 17 OO jDREW OO jDREW is used to realize the personal agents of Rule Responder OO jDREW is used to realize the personal agents of Rule Responder It implements Hornlog RuleML for agent reasoning (Horn logic rules) It implements Hornlog RuleML for agent reasoning (Horn logic rules) Supports rules in two formats: Supports rules in two formats: POSL: Positional Slotted presentation syntax POSL: Positional Slotted presentation syntax RuleML: XML interchange syntax (can be generated from POSL: http://www.ruleml.org/posl/converter.jnlp ) RuleML: XML interchange syntax (can be generated from POSL: http://www.ruleml.org/posl/converter.jnlp ) http://www.ruleml.org/posl/converter.jnlp

19 DR-Device Reasons about RDF metadata over multiple Web sources using defeasible logic rules Reasons about RDF metadata over multiple Web sources using defeasible logic rules Implemented on top of CLIPS production rule system (bottom-up execution, derives all conclusions as an extension of the rule base + fact base) Implemented on top of CLIPS production rule system (bottom-up execution, derives all conclusions as an extension of the rule base + fact base)CLIPS Three rule syntaxes Three rule syntaxes D-POSL, a defeasible extension of human-oriented POSL syntax D-POSL, a defeasible extension of human-oriented POSL syntax Native CLIPS-like (LISP-like) language Native CLIPS-like (LISP-like) language DR-RuleML, a defeasible extension of OO RuleML/XML serialization DR-RuleML, a defeasible extension of OO RuleML/XML serializationRuleML Highly expressive semantics Highly expressive semantics Multiple rule types of defeasible logic (strict, defeasible, defeaters) Multiple rule types of defeasible logic (strict, defeasible, defeaters) Both classical (strong) negation and negation-as-failure Both classical (strong) negation and negation-as-failure Conflicting literals, i.e. derived formulas that mutually exclude each other Conflicting literals, i.e. derived formulas that mutually exclude each other Import of RDF and RuleML from the Web Import of RDF and RuleML from the Web RDF taxonomies and instances as input facts for the defeasible logic program RDF taxonomies and instances as input facts for the defeasible logic program Defeasible logic programs in RuleML Defeasible logic programs in RuleML Export of answers and proofs to the Web Export of answers and proofs to the Web The answer sets of the defeasible logic program as an RDF document The answer sets of the defeasible logic program as an RDF document The proof tree of each answer in a RuleML extension for proofs The proof tree of each answer in a RuleML extension for proofs 18

20 19 Use Case: Symposium Planner RuleML-20xy Symposia RuleML-20xy Symposia An external agent linked to an organizational agent acts as the single point of entry to support the symposium organization: An external agent linked to an organizational agent acts as the single point of entry to support the symposium organization: Currently, query answering about the symposium Currently, query answering about the symposium Ultimately, preparing and running the symposium Ultimately, preparing and running the symposium Personal agents have assisted symposium chairs since 2007 (deployed as Q&A since 2008) Personal agents have assisted symposium chairs since 2007 (deployed as Q&A since 2008)Q&A General Chair, Publicity Chair, Program Chair, Panel Chair, etc. General Chair, Publicity Chair, Program Chair, Panel Chair, etc.

21 20 EA: External Agent OA General Chair PA Program Chair Profile User Challenge Chair Profile User Rule Responder Architecture PA: Personal Agent OA: Organizational Agent Virtual Organization Publicity Chair PA Liaison Chair PA Program Chair PA Challenge Chair PA Liaison Chair Profile User Publicity Chair Profile User General Chair Profile User Enquiry User

22 21 Online Use Case Demos Rule Responder: http://responder.ruleml.org Rule Responder: http://responder.ruleml.org http://responder.ruleml.org Virtual organizations for RuleML-2007/.../2010 Symposia: Virtual organizations for RuleML-2007/.../2010 Symposia: External agents: Each an HTTP browser interface using Reaction RuleML: http://ibis.in.tum.de/projects/paw/ruleml-2007 http://ruleml.org/RuleML-2008/RuleResponder http://ruleml.org/RuleML-2009/RuleResponder http://emerald.csd.auth.gr:8080/RuleResponder.htm External agents: Each an HTTP browser interface using Reaction RuleML: http://ibis.in.tum.de/projects/paw/ruleml-2007 http://ruleml.org/RuleML-2008/RuleResponder http://ruleml.org/RuleML-2009/RuleResponder http://emerald.csd.auth.gr:8080/RuleResponder.htm http://ibis.in.tum.de/projects/paw/ruleml-2007 http://ruleml.org/RuleML-2008/RuleResponder http://ruleml.org/RuleML-2009/RuleResponder http://emerald.csd.auth.gr:8080/RuleResponder.htm http://ibis.in.tum.de/projects/paw/ruleml-2007 http://ruleml.org/RuleML-2008/RuleResponder http://ruleml.org/RuleML-2009/RuleResponder http://emerald.csd.auth.gr:8080/RuleResponder.htm Organizational agents: Each supporting one symposium as a whole Organizational agents: Each supporting one symposium as a whole Personal agents: Supporting all Chair subteams of a symposium Personal agents: Supporting all Chair subteams of a symposium Online

23 22 Query Delegation The organizational agent delegates queries to appropriate personal agents The organizational agent delegates queries to appropriate personal agents Tasks for the symposium organization are managed via a role assignment matrix Tasks for the symposium organization are managed via a role assignment matrix Defined here by an OWL Lite ontology (alternatives: RDFS, RuleML,...) Defined here by an OWL Lite ontology (alternatives: RDFS, RuleML,...) Assigns (meta)topics to PAs within the virtual organization:... see next slide... Assigns (meta)topics to PAs within the virtual organization:... see next slide...

24 23 Role Assignment Ontology Publicity Chair Topics Personal Agents Sponsoring Publicity Chair... Liaison Chair General Chair...... Challenge Chair Challenge Demos Media Partners Sponsors Responsible Accountable Press Release Challenge Chair Liaison Chair General Chair Metatopics......... Registration Visa Letter... Program Chair...... Submissions Presentations... Properties:

25 24 Multiple Query Answers by PAs Some queries have more than one answer Some queries have more than one answer The PA will send the answers one at a time to the OA The PA will send the answers one at a time to the OA Interleaving backtracking and transmission Interleaving backtracking and transmission When the PA finds no more answers, it sends an end-of-transmission message When the PA finds no more answers, it sends an end-of-transmission message

26 25 Knowledge Shared Between Personal Agents Rules can be shared among personal agents Rules can be shared among personal agents Rules that apply to all PAs can be lifted to the OA level Rules that apply to all PAs can be lifted to the OA level... see next slide...... see next slide...

27 26 Symposium OA Knowledge Base % Sample Prova rule stored in the OA: getContact(XID,Topic,Request, person(Role,Name,Title,EMail,Telephone)) :- person(Role,Name,Title,EMail,Telephone)) :- % Retrieve the responsible PA (Agent) for the Topic % Retrieve the responsible PA (Agent) for the Topic assigned(XID,Agent,Topic,ruleml2009_responsible), assigned(XID,Agent,Topic,ruleml2009_responsible), % Query contact information from that PA % Query contact information from that PA sendMsg(XID,esb,Agent,"query", sendMsg(XID,esb,Agent,"query", person(Role,Name,Title,Email,Telephone) ), person(Role,Name,Title,Email,Telephone) ), % Receive the answer(s) % Receive the answer(s) rcvMult(XID,esb,Agent,"answer", rcvMult(XID,esb,Agent,"answer", substitutions(Role,Name,Title,EMail,Telephone)). substitutions(Role,Name,Title,EMail,Telephone)).

28 General Chair PA Knowledge Base: Facts % OA rule delegates queries to PAs that use FOAF-like facts % such as to the General Chair PA that uses this fact: person( symposiumChair[ ruleML_2009, general ], foafname[ firstName[ Adrian ], lastName[ Paschke ]], foaftitle[ title[ Dr ]], foafmbox[ email[ adrianDOTpaschkeATbiotecDOTtuDASHdresdenDOTde ]], exphones[ telephoneNumbers[ office[ 4935146340074 ]]]). % Sample query in RuleML syntax:... see next slide... 27

29 28 Sample Message to Organizational Agent <RuleML xmlns="http://www.ruleml.org/0.91/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ruleml.org/0.91/xsd xsi:schemaLocation="http://www.ruleml.org/0.91/xsd http://ibis.in.tum.de/research/ReactionRuleML/0.2/rr.xsd" http://ibis.in.tum.de/research/ReactionRuleML/0.2/rr.xsd" xmlns:ruleml2007="http://ibis.in.tum.de/projects/paw#"> xmlns:ruleml2007="http://ibis.in.tum.de/projects/paw#"> <oid><Ind>RuleML-2009</Ind></oid><protocol><Ind>esb</Ind></protocol><sender><Ind>User</Ind></sender><content><Atom><Rel>getContact</Rel><Ind>ruleml2009_GeneralChair</Ind><Ind>update</Ind><Var>Contact</Var></Atom></content></Message></RuleML> Online http://ruleml.org/RuleML-2009/RuleResponder/ Query Selection: General Chair Contact

30 29 Architecture - Execution

31 30 Architecture - Execution

32 31 Architecture - Execution

33 32 Architecture - Execution

34 33 Architecture - Execution

35 34

36 35

37 36 Sample Message to Publicity Chair PA (I) <content> sponsor sponsor contact contact Mark Mark JBoss JBoss 500 500 results results Level Level Benefits Benefits DeadlineResults DeadlineResults performative performative Action Action </content> Online http://www.ruleml.org/RuleML-2009/RuleResponder Query Selection: Publicity Chair Sponsoring English Description: Mark from JBoss would like to sponsor RuleML- 2009 with $500. What level, benefits, and deadline results will this provide, and what kind of action should be taken ?

38 37

39 38 Publicity Chair PA Knowledge Base: Rules % Rule stored in the Publicity Chair’s PA: sponsor(contact[?Name,?Organization], ?Amount:integer, results[?Level,?Benefits,?DeadlineResults], performative[?Action]) :- requestSponsoringLevel(?Amount:integer,?Level), requestBenefits(?Level,?Benefits), checkDeadline(?DeadlineResults), checkAction(?Action,?Level,?Amount:integer). Yellow: Query other rules

40 Publicity Chair PA Knowledge Base: 1 st & 2 nd Rule Premise requestSponsoringLevel(?Amount:integer,?Level), % Satisfied by presponsor, bronze,..., emerald rule:...... requestSponsoringLevel(?Amount:integer,?Level) :- requestSponsoringLevel(?Amount:integer,?Level) :- sponsoringLevel(rank5,?Level,us$[?EmeraldAmount:integer]), greaterThanOrEqual(?Amount:integer, sponsoringLevel(rank5,?Level,us$[?EmeraldAmount:integer]), greaterThanOrEqual(?Amount:integer, ?EmeraldAmount:integer). ?EmeraldAmount:integer).requestBenefits(?Level,?Benefits), % Satisfied by rule: requestBenefits(?Level,?Benefits) :- benefits(?Level,?Benefits). 39 Pink: Query facts

41 Publicity Chair PA Knowledge Base: 3 rd & 4 th Rule Premise checkDeadline(?DeadlineResults), % Satisfied by rule: checkDeadline(passed[deadline]):-date(?X:integer),deadline(sponsoring,?D:integer),greaterThan(?X:integer,?D:integer).checkAction(?Action,?Level,?Amount:integer). checkAction(?Action,?Level,?Amount:integer) :- actionPerformed(?Action,?Level,?Amount:integer). What happens if we now provide a $5000 sponsorship?... see next slide... 40

42 41 Sample Message to Publicity Chair PA (II) sponsor sponsor contact contact Mary Mary Super Super 5000 5000 results results Level Level Benefits Benefits DeadlineResults DeadlineResults performative performative Action Action Online http://www.ruleml.org/RuleML-2009/RuleResponder Query Selection: Publicity Chair Sponsoring (edited) English Description: Mark from JBoss would like to sponsor RuleML- 2009 with $5000. What level, benefits, and deadline results will this provide, and what kind of action should be taken?

43 42 42

44 Publicity Chair PA (RuleML-2010): DR-Device Knowledge in D-POSL Defeasible rules (with ‘:=’-infix, ‘:’-label, and ‘->’-slots) r1: suggested_level(sponsor->?X, level->preSponsor) := offer(sponsor->?X, amount->?Y), ?Y >= 1. r2: suggested_level(sponsor->?X, level->bronze) := offer(sponsor->?X, amount->?Y), ?Y >= 500. r3: suggested_level(sponsor->?X, level->silver) := offer(sponsor->?X, amount->?Y), ?Y >= 1000. r4: suggested_level(sponsor->?X, level->gold) := offer(sponsor->?X, amount->?Y), ?Y >= 3000. r5: suggested_level(sponsor->?X, level->platinum) := offer(sponsor->?X, amount->?Y), ?Y >= 5000. r6: suggested_level(sponsor->?X, level->emerald) := offer(sponsor->?X, amount->?Y), ?Y >= 7500. Integrity rule (denial of multiple levels) Integrity rule (denial of multiple levels) := suggested_level(sponsor->?X, level->?Y), suggested_level(sponsor->?X, level->?Z), ?Y \= ?Z. 43 Priority order (between labeled rules) r6 > r5 > r4 > r3 > r2 > r1.

45 Program Chair PA (RuleML-2010) Contains knowledge about tracks of RuleML-2010 Contains knowledge about tracks of RuleML-2010 Track title, Track topics, Track chairs Track title, Track topics, Track chairs Answers queries for finding a relevant track for a paper Answers queries for finding a relevant track for a paper Uses a paper’s keywords within (the strings of) the track titles and topics Uses a paper’s keywords within (the strings of) the track titles and topics Rule-based heuristic scoring functions Rule-based heuristic scoring functions 44

46 Program Chair PA: Find Relevant Tracks … findTracks findTracks defeasibility; rule exceptions </Ind> ScoredTrack ScoredTrack </Message> 45 <Expr><Fun>track</Fun> Rules and Norms </Ind><Expr><Fun>relevance</Fun> 10017 10017 </Expr></Expr> Query Answer CfP

47 Program Chair: OA-PA Interface findTracks(XID, KeywordString, ScoredTrack) :- % Parse string of keywords into a list of keywords string_to_keywords(KeywordString,Keywords), % Find the Program Chair Personal Agent assigned(XID,Agent,ruleml2010_ProgramChair,ruleml2010_responsible), % Send message querying for tracks relevant to a list of keywords sendMsg(XID,esb,Agent,"query",score_tracks(Keywords,ScoredTrack)), % Receive relevant tracks with a relevance score rcvMult(XID,esb,Agent,"answer",substitutions(ScoredTrack)). 46

48 Program Chair PA: Knowledge Base track("Rules and Norms":string, % Track title [ % Track topics [ % Track topics "Methodologies for modeling regulations using "Methodologies for modeling regulations using both ontologies and rules":string, both ontologies and rules":string, "Defeasibility and norms - modeling rule exceptions "Defeasibility and norms - modeling rule exceptions and priority relations among rules":string, and priority relations among rules":string, …], …], [foafname[firstName[Thomas],lastName[Gordon]], % Track chairs [foafname[firstName[Thomas],lastName[Gordon]], % Track chairs foafname[firstName[Guido],lastName[Governatori]]]). foafname[firstName[Guido],lastName[Governatori]]]). score_tracks(?Keys,track[?Track,relevance[?Score]]) :- track(?Track,?Topics,?), % For each track (backtracking) track(?Track,?Topics,?), % For each track (backtracking) score_track(?Keys,?Track,?Topics,?Score), % Score track relevance score_track(?Keys,?Track,?Topics,?Score), % Score track relevance greaterThan(?Score,0:real). % Return track with positive score greaterThan(?Score,0:real). % Return track with positive score 47 Use a heuristic function See next slide

49 48 Program Chair PA: Scoring Function* * Slides 43-48 courtesy of Nick Bassiliades, leading joint project: http://ruleml.org/press/EmeraldRuleMLResponderPressRelease-2010-04-23.pdf http://ruleml.org/press/EmeraldRuleMLResponderPressRelease-2010-04-23.pdf

50 49 Conclusion (I) Rule Responder was implemented & tested for various use cases ( http://responder.ruleml.org ) and deployed for RuleML-2008/... /2010 Q&A Rule Responder was implemented & tested for various use cases ( http://responder.ruleml.org ) and deployed for RuleML-2008/... /2010 Q&A http://responder.ruleml.orgQ&A http://responder.ruleml.orgQ&A Its organizational agents delegate external queries to topic-assigned personal agents Its organizational agents delegate external queries to topic-assigned personal agents It couples rule engines Prova & OO jDREW & DR-Device (& Euler) via Mule middleware and RuleML 0.91 XML interchange format It couples rule engines Prova & OO jDREW & DR-Device (& Euler) via Mule middleware and RuleML 0.91 XML interchange formatProvaOO jDREWDR-DeviceEulerRuleML 0.91ProvaOO jDREWDR-DeviceEulerRuleML 0.91 Without a Reaction Rule Dialect, W3C RIF could not be used for behavioral Responder logic Without a Reaction Rule Dialect, W3C RIF could not be used for behavioral Responder logic

51 50 Conclusion (II) Current system is reusable on all levels: Symposium Planner, Rule Responder, (D-)POSL, RuleML, OO jDREW, DR-Device, Prova, and Mule Current system is reusable on all levels: Symposium Planner, Rule Responder, (D-)POSL, RuleML, OO jDREW, DR-Device, Prova, and Mule RuleML Responder Technical Group jointly with Adrian Paschke, Alexander Kozlenkov, Ben Craig, Taylor Osmun, Derek Smith, Irfan ul Haq, Omair Shafiq, Mahsa Kiani, Nick Bassiliades, Stratos Kontopoulos, and Kalliopi Kravari RuleML Responder Technical Group jointly with Adrian Paschke, Alexander Kozlenkov, Ben Craig, Taylor Osmun, Derek Smith, Irfan ul Haq, Omair Shafiq, Mahsa Kiani, Nick Bassiliades, Stratos Kontopoulos, and Kalliopi Kravari Adrian PaschkeAlexander KozlenkovNick Bassiliades Adrian PaschkeAlexander KozlenkovNick Bassiliades Integrated another ‘partner engine’, Euler, for recent use cases, e.g. in WellnessRules2 and PatientSupporter (generating RuleML/XML from query menus for POSL and N3). More welcome! Integrated another ‘partner engine’, Euler, for recent use cases, e.g. in WellnessRules2 and PatientSupporter (generating RuleML/XML from query menus for POSL and N3). More welcome!EulerWellnessRules PatientSupporterEulerWellnessRules PatientSupporter

52 51 Future Work (I) Communication between Personal Agent and Human Owner Communication between Personal Agent and Human Owner The PA may need to interact with its Human Owner The PA may need to interact with its Human Owner Formal interaction between PAs and their owners can employ Reaction RuleML emails (SMTP) Formal interaction between PAs and their owners can employ Reaction RuleML emails (SMTP) Semi-formal interaction could use Controlled English Semi-formal interaction could use Controlled English Query Decomposition Query Decomposition Queries decomposed into subqueries, delegated to multiple PAs, and partial answers re-integrated Queries decomposed into subqueries, delegated to multiple PAs, and partial answers re-integrated Applications in information (data and knowledge) integration Applications in information (data and knowledge) integration

53 52 Future Work (II) Centralized, Distributed-Hierarchical (here), and Distributed-Networked (future) query answering Centralized, Distributed-Hierarchical (here), and Distributed-Networked (future) query answering Centralized: Avoids all communication overhead Centralized: Avoids all communication overhead Distributed: More fault-tolerant and typically faster Distributed: More fault-tolerant and typically faster Alternative agents when an agent becomes defunct Alternative agents when an agent becomes defunct Hierarchical: OA may sometime become a bottleneck Hierarchical: OA may sometime become a bottleneck Networked: Peer-to-peer exchange between PAs Networked: Peer-to-peer exchange between PAs From centralized to distributed knowledge maintenance From centralized to distributed knowledge maintenance Easier to keep distributed rules up-to-date Easier to keep distributed rules up-to-date Discussed in Technical Report by Ben Craig and explored in PhD project by Mahsa Kiani Discussed in Technical Report by Ben Craig and explored in PhD project by Mahsa KianiTechnical ReportTechnical Report


Download ppt "Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,"

Similar presentations


Ads by Google