EXTENDS rule matches nothing, but manually "unrolled" rule does

8 views
Skip to first unread message

Tassilo Horn

unread,
Dec 21, 2010, 5:01:43 AM12/21/10
to tef...@googlegroups.com
Hi all,

in my transformation, I have these rules/pattern:

--8<---------------cut here---------------start------------->8---
PATTERN spouse(h, w)
WHERE NOT UNDEF h.familyFather
AND h.familyFather.mother = w
;

RULE Member2Male(member, p)
FORALL Member member, Family f
WHERE NOT isFemale(member)
AND member.model = fm
AND FamilyModelToGenealogy LINKS src = fm, dst = g
AND family(member, f)
AND FamilyToAddress LINKS src = f, dst = a
MAKE Male p FROM male(member),
setPersonProps(member, p, g, f, a)
;

RULE Member2Father(member, p)
EXTENDS Member2Male(member, p)
FORALL Member mwife, Person wife
WHERE spouse(member, mwife)
AND MemberToPerson LINKS src = mwife, dst = wife
SET p.wife = wife
;
--8<---------------cut here---------------end--------------->8---

In <8739rh4...@thinkpad.tsdh.de> I've already asked about the
EXTENDS semantics and Michael and Kerry gave helpful answers.
Especially, Michael's hint to manually "unroll" the extension to grasp
the semantics was helpful. But currently, I still cannot explain why I
always get

WARN: TRule: Member2Father matched nothing.

If I unroll the extension manually, I get

--8<---------------cut here---------------start------------->8---
RULE Member2Father(member, p)
FORALL Member member, Family f, Member mwife, Person wife
WHERE NOT isFemale(member)
AND member.model = fm
AND FamilyModelToGenealogy LINKS src = fm, dst = g
AND family(member, f)
AND FamilyToAddress LINKS src = f, dst = a
AND spouse(member, mwife)
AND MemberToPerson LINKS src = mwife, dst = wife
MAKE Male p FROM male(member),
setPersonProps(member, p, g, f, a)
SET p.wife = wife
;
--8<---------------cut here---------------end--------------->8---

and THAT DOES WORK fine...

Is EXTENDS broken? (Even the extension rule in the tutorial Class to
Table transformation does never match...)

Bye,
Tassilo

Reply all
Reply to author
Forward
0 new messages