Drools, graph traversal, query to find root nodes -
Drools, graph traversal, query to find root nodes -
i have java-side class essential behaviour like:
declare datum description: string broader: list <datum> narrower: list <datum> end i want write
query rootdatumsfor(datum datum) that provides list of root datums - is, work "up" broader property , homecoming list of each datum has empty broader list.
i getting totally confused how write - because of negation involved.
i think want like
query rootdatumsfor( datum datum ) not datum() $datum.broader or rootdatumsfor( $datum.broader ) end but getting confused on both parts. if there no broader terms, not should detect, how "return" current value of $datum? sense each part wants $result , want $result: $datum isn't valid.
and i'm not how recursion. should have rootdatumsfor(datum, result) , via binding?
i've seen examples things likes datum( == $datum) doesn't seem accepted when seek it.
any assistance, whilst maintain re-reading docn find little clue how proceed, much appreciated.
to find datum facts empty broaderlist, have is
query rootdatumsfor( datum $datum ) $datum: datum( broader.size() == 0 ) end graph drools traversal
Comments
Post a Comment