next up previous contents
Next: A Rule language based Up: RDF Rule Language Previous: RDF Rule Language   Contents

From CG rules to RDF rules

The production rules of Corese implement conceptual graph rules [13]: a rule $G_1 \Rightarrow G_2$ is a pair of lambda abstractions $(\lambda x_1, ...,$ $\lambda x_n G_1, \lambda x_1,
..., \lambda x_n G_2)$ where the $x_i$ are co-reference links between generic concepts of $G_1$ and corresponding generic concepts of $G_2$ that play the role of rule variables.

For instance, the following CG rule states that if a person ?m is head of a team ?t which has a person ?p as a member, then ?m manages ?p :

 [Person:?m]-(head)-[Team:?t] -
 -(hasMember)-[Person:?p]
 => [Person:?m]-(manage)-[Person:?p]

A rule $G_1 \Rightarrow G_2$ applies to a graph $G$ if there exists a projection $\pi$ from $G_1$ to $G$, i.e. $G$ contains a specialization of $G_1$. The resulting graph is built by joining $G$ and $G_2$ while merging each $\pi(x_i)$ in $G$ with the corresponding $x_i$ in $G_2$. Joining the graphs may lead to specialize the types of some concepts, to create relations between concepts and to create new individual concepts (i.e. concepts without variable).



Olivier Corby 2005-07-01