The production rules of Corese implement conceptual graph rules
[13]: a rule
is a pair of lambda
abstractions
where the
are co-reference links
between generic concepts of
and corresponding generic
concepts of
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
applies to a graph
if there
exists a projection
from
to
, i.e.
contains a
specialization of
. The resulting graph is built by joining
and
while merging each
in
with the
corresponding
in
. 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).