laurelang icon indicating copy to clipboard operation
laurelang copied to clipboard

Feature: predefined structure relations

Open timoniq opened this issue 1 year ago • 0 comments

: ? married(person, person).
? married(p1_uid, p2_uid) {
    db:Marriage(partner_id=p1_uid, partner2_id=p2_uid);
}%
? married(p1_uid, p2_uid) { married(p2_uid, p1_uid); }

$ InMarriage {
    person(name, _) person_1;
    person person_2;
} where {
    married(person_1, person_2);
    not({
        divorced(person_1, person_2)
        | dead(person_1)
        | dead(person_2);
    });
}

? InMarriage:repr(in_marriage) -> format("{in_marriage:name} is happily married with {partners_name}") {
    person(partners_name, _) = in_marriage:person_2;
}

timoniq avatar Sep 04 '23 17:09 timoniq