METHOD AND SYSTEM FOR SEMANTIC PUBLISH-SUBSCRIBE SERVICES
First Claim
1. A semantic publish-subscribe system, comprising:
- a plurality of subscribers;
a plurality of publishers; and
a server that receives and stores subscriptions that are described in web ontology language (OWL) graph patterns from the plurality of subscribers and that receives events that are described in semantic graphs formed by OWL assertions from the plurality of publishers,wherein when the server receives an event from a publisher, the server expands the OWL assertions of the event using a reasoner to produce an expanded event, the server matches the expanded event to a subscription, and then, the server notifies a subscriber whose interest matches the event.
3 Assignments
0 Petitions
Accused Products
Abstract
A semantic publish-subscribe system, including: a plurality of subscribers; a plurality of publishers; and a server that receives and stores subscriptions that are described in web ontology language (OWL) graph patterns from the plurality of subscribers and that receives events that are described in semantic graphs formed by OWL assertions from the plurality of publishers, wherein when the server receives an event from a publisher, the server expands the OWL assertions of the event using a reasoner to produce an expanded event, the server matches the expanded event to a subscription, and then, the server notifies a subscriber whose interest matches the event.
54 Citations
24 Claims
-
1. A semantic publish-subscribe system, comprising:
-
a plurality of subscribers; a plurality of publishers; and a server that receives and stores subscriptions that are described in web ontology language (OWL) graph patterns from the plurality of subscribers and that receives events that are described in semantic graphs formed by OWL assertions from the plurality of publishers, wherein when the server receives an event from a publisher, the server expands the OWL assertions of the event using a reasoner to produce an expanded event, the server matches the expanded event to a subscription, and then, the server notifies a subscriber whose interest matches the event. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 12)
-
-
11. A server for a semantic publish-subscribe system, comprising:
-
a subscription maintenance module for receiving and storing subscriptions that are described in web ontology language (OWL) graph patterns from a plurality of subscribers; a reasoning module for receiving events that are described in semantic graphs formed by OWL assertions from a plurality of publishers and for expanding the OWL assertions of the events to produce expanded events; and a matching module for matching the expanded events to the subscriptions and notifying subscribers whose interests match the events.
-
-
13. A computer program product comprising a computer useable medium having computer program logic recorded thereon for matching an event to a subscription in a semantic publish-subscribe system, the computer program logic comprising:
-
program code for receiving and storing subscriptions that are described in web ontology language (OWL) graph patterns from a plurality of subscribers; program code for receiving events that are described in semantic graphs formed by OWL assertions from a plurality of publishers and for expanding the OWL assertions of the events to produce expanded events; and program code for matching the expanded events to the subscriptions and notifying subscribers whose interests match the events. - View Dependent Claims (14)
-
-
15. A method for matching an event to a subscription in a semantic publish-subscribe system, comprising:
-
receiving and storing subscriptions that are described in web ontology language (OWL) graph patterns from a plurality of subscribers; receiving an event from a publisher that is described in a semantic graph formed by OWL assertions; expanding the OWL assertions of the event by using reasoning to produce an expanded event; matching the expanded event to a subscription; and notifying the subscriber whose interest matches the event. - View Dependent Claims (16, 17, 18, 19, 20)
-
-
21. A method for matching an event to a subscription in a semantic publish-subscribe system, comprising:
-
receiving and storing subscriptions that are described in web ontology language (OWL) graph patterns from a plurality of subscribers, wherein the subscriptions are stored in a linked-chains structure by, creating a chain of nodes for each subscription, wherein for each subscription each node in the chain of nodes represents a triple pattern in the subscription; arranging the nodes in each chain of nodes in a decreasing order of selectivity, wherein nodes that are in different chains or the same chain are linked to each other if their triple patterns are equivalent; and inserting the chain of nodes for each subscription into a queue by using a chain ordering algorithm; receiving an event from a publisher that is described in a semantic graph formed by OWL assertions; expanding the OWL assertions of the event by using reasoning to produce an expanded event; and matching the expanded event to a subscription by, beginning with a first subscription in the queue and continuing until the queue becomes empty, for each subscription, evaluating the nodes in its chain of nodes from top to bottom, and for each node, checking the node against the event and finding solutions for the variables in the triple pattern of the node, wherein if no solution is found, discarding the currently evaluated subscription and proceeding to the step of evaluating the node for a next subscription, wherein if all nodes in the chain of nodes for the currently evaluated subscription have one or more solutions, computing a set of combined solutions for all variables in the currently evaluated subscription, wherein for each combined solution, checking value constraints of the currently evaluated subscription to determine if the combined solution satisfies these constraints, wherein if there is at least one combined solution that satisfies all value constraints in the currently evaluated subscription, returning the event as a match to the subscriber from whom the currently evaluated subscription was received. - View Dependent Claims (22, 23, 24)
-
Specification