You are right; as written, this rule will match (Semantic Web and
Semantic Service Executor) Agents, ag1 and ag2, whose "applies"
features reference a common Plan, pln, which is what you want.
If you want to match the other plans of ag2 that are not referred to
by ag1, then you could use:
RULE AgentServiceInteraction
FORALL Agent ag1 { ... },
Agent ag2 { ... }
WHERE ag2.applies = otherPlan AND NOT (ag1.applies = otherPlan)
MAKE ...
;
However, I'm not completely sure what you mean by "the Plan instances
for Semantic Service Matchmaker Agent which do not reference to
Semantic Web Agent". Do you mean:
* Plan instances of the particular Semantic Service Matchmaker Agent
(ag2) that are not referred to by the particular Semantic Web Agent
(ag1), or
* Plan instances of the particular Semantic Service Matchmaker Agent
(ag2) that are not referred to by any Semantic Web Agent, or
* Plan instances of any Semantic Service Matchmaker Agent that are not
referred to by the particular Semantic Web Agent (ag1), or
* Plan instances of any Semantic Service Matchmaker Agent that are not
referred to by any Semantic Web Agent ?
All of these options are possible.
hope that helps,
-David
Arda
> > Arda- Hide quoted text -
>
> - Show quoted text -