=====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). =====query subject_class(X, _). =====result [{"X":"Todo"}] =====query subject_class("Todo", C), constructor(C, Actions). =====result [{"Actions":"[{action: \"addLink\", source: \"this\", predicate: \"todo://state\", target: \"todo://ready\"}]","C":"c"}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:construct%20test", "todo://state", "todo://ready"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://ready", 1706790526903, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:construct%20test", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:construct%20test", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). =====query subject_class("Todo", C), instance(C, "literal://string:construct%20test"). =====result [{"C":"c"}] =====query subject_class("Todo", C), instance(C, "literal://string:construct%20test"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property(C, Property). =====result [{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] =====query subject_class("Todo", C), property_resolve(C, "state"). =====result false =====query subject_class("Todo", C), property_resolve(C, "title"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property_resolve(C, "isLiked"). =====result false =====query subject_class("Todo", C), property_setter(C, Property, Setter). =====result [{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_resolve_language(C, "state", Language). =====result false =====query subject_class("Todo", C), property_resolve_language(C, "title", Language). =====result [{"C":"c","Language":"literal"}] =====query subject_class("Todo", C), collection(C, Collection). =====result [{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] =====query subject_class("Todo", C), collection_adder(C, Collection, Adder). =====result [{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] =====query subject_class("Todo", C), collection_remover(C, Collection, Remover). =====result [{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), collection_setter(C, Collection, Setter). =====result [{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), instance(C, "literal://string:construct%20test"). =====result [{"C":"c"}] =====query subject_class("Todo", C), constructor(C, Actions). =====result [{"Actions":"[{action: \"addLink\", source: \"this\", predicate: \"todo://state\", target: \"todo://ready\"}]","C":"c"}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:construct%20test", "todo://state", "todo://ready"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://ready", 1706790526903, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). =====query subject_class("Todo", C), instance(C, "literal://string:get%20proxy%20test"). =====result [{"C":"c"}] =====query subject_class("Todo", C), instance(C, "literal://string:get%20proxy%20test"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property(C, Property). =====result [{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] =====query subject_class("Todo", C), property_resolve(C, "state"). =====result false =====query subject_class("Todo", C), property_resolve(C, "title"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property_resolve(C, "isLiked"). =====result false =====query subject_class("Todo", C), property_setter(C, Property, Setter). =====result [{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_resolve_language(C, "state", Language). =====result false =====query subject_class("Todo", C), property_resolve_language(C, "title", Language). =====result [{"C":"c","Language":"literal"}] =====query subject_class("Todo", C), collection(C, Collection). =====result [{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] =====query subject_class("Todo", C), collection_adder(C, Collection, Adder). =====result [{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] =====query subject_class("Todo", C), collection_remover(C, Collection, Remover). =====result [{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), collection_setter(C, Collection, Setter). =====result [{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), instance(C, "literal://string:get%20proxy%20test"). =====result [{"C":"c"}] =====query subject_class("Todo", C), instance(C, "literal://string:get%20proxy%20test"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property(C, Property). =====result [{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] =====query subject_class("Todo", C), property_resolve(C, "state"). =====result false =====query subject_class("Todo", C), property_resolve(C, "title"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property_resolve(C, "isLiked"). =====result false =====query subject_class("Todo", C), property_setter(C, Property, Setter). =====result [{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_resolve_language(C, "state", Language). =====result false =====query subject_class("Todo", C), property_resolve_language(C, "title", Language). =====result [{"C":"c","Language":"literal"}] =====query subject_class("Todo", C), collection(C, Collection). =====result [{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] =====query subject_class("Todo", C), collection_adder(C, Collection, Adder). =====result [{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] =====query subject_class("Todo", C), collection_remover(C, Collection, Remover). =====result [{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), collection_setter(C, Collection, Setter). =====result [{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_getter(C, "literal://string:get%20proxy%20test", "state", Value). =====result [{"C":"c","Value":"todo://ready"}] =====query subject_class("Todo", C), property_getter(C, "literal://string:get%20proxy%20test", "title", Value). =====result false =====query subject_class("Todo", C), constructor(C, Actions). =====result [{"Actions":"[{action: \"addLink\", source: \"this\", predicate: \"todo://state\", target: \"todo://ready\"}]","C":"c"}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:construct%20test", "todo://state", "todo://ready"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://ready"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://ready", 1706790526903, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://ready", 1706790527417, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). =====query subject_class("Todo", C), instance(C, "literal://string:construct%20test"). =====result [{"C":"c"},{"C":"c"}] =====query subject_class("Todo", C), instance(C, "literal://string:construct%20test"). =====result [{"C":"c"},{"C":"c"}] =====query subject_class("Todo", C), property(C, Property). =====result [{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] =====query subject_class("Todo", C), property_resolve(C, "state"). =====result false =====query subject_class("Todo", C), property_resolve(C, "title"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property_resolve(C, "isLiked"). =====result false =====query subject_class("Todo", C), property_setter(C, Property, Setter). =====result [{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_resolve_language(C, "state", Language). =====result false =====query subject_class("Todo", C), property_resolve_language(C, "title", Language). =====result [{"C":"c","Language":"literal"}] =====query subject_class("Todo", C), collection(C, Collection). =====result [{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] =====query subject_class("Todo", C), collection_adder(C, Collection, Adder). =====result [{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] =====query subject_class("Todo", C), collection_remover(C, Collection, Remover). =====result [{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), collection_setter(C, Collection, Setter). =====result [{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_getter(C, "literal://string:construct%20test", "state", Value). =====result [{"C":"c","Value":"todo://ready"},{"C":"c","Value":"todo://ready"}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). =====query subject_class("Todo", C), property_getter(C, "literal://string:construct%20test", "state", Value). =====result [{"C":"c","Value":"todo://done"}] =====query subject_class("Todo", C), property_getter(C, "literal://string:construct%20test", "title", Value). =====result false =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). =====query subject_class("Todo", C), property_getter(C, "literal://string:construct%20test", "title", Value). =====result [{"C":"c","Value":"literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"}] =====query subject_class("Todo", C), collection_getter(C, "literal://string:construct%20test", "comments", Value). =====result [{"C":"c","Value":[""]}] =====query subject_class("Todo", C), collection_getter(C, "literal://string:construct%20test", "comments", Value). =====result [{"C":"c","Value":[""]}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:comment%201"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:comment%201", 1706790527721, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:comment%201", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:comment%201", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:comment%201", "string:comment%201"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). =====query subject_class("Todo", C), collection_getter(C, "literal://string:construct%20test", "comments", Value). =====result [{"C":"c","Value":["literal://string:comment%201"]}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:comment%202"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:comment%201", 1706790527721, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:comment%202", 1706790527762, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:comment%201", "literal"). languageAddress("literal://string:comment%202", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:comment%201", "literal"). languageName("literal://string:comment%202", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:comment%201", "string:comment%201"). expressionAddress("literal://string:comment%202", "string:comment%202"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). =====query subject_class("Todo", C), collection_getter(C, "literal://string:construct%20test", "comments", Value). =====result [{"C":"c","Value":["literal://string:comment%201","literal://string:comment%202"]}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). =====query subject_class("Todo", C), collection_getter(C, "literal://string:construct%20test", "comments", Value). =====result [{"C":"c","Value":[""]}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). =====query subject_class("Todo", C), collection_getter(C, "literal://string:construct%20test", "comments", Value). =====result [{"C":"c","Value":["literal://string:new%20comment%201"]}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). =====query subject_class("Todo", C), collection_getter(C, "literal://string:construct%20test", "comments", Value). =====result [{"C":"c","Value":["literal://string:new%20comment%201","literal://string:new%20comment%202"]}] =====query subject_class("Todo", C), instance(C, X). =====result [{"C":"c","X":"literal://string:get%20proxy%20test"},{"C":"c","X":"literal://string:construct%20test"}] =====query subject_class("Todo", C), instance(C, "literal://string:get%20proxy%20test"). =====query subject_class("Todo", C), instance(C, "literal://string:construct%20test"). =====result [{"C":"c"}] =====result [{"C":"c"}] =====query subject_class("Todo", C), instance(C, "literal://string:construct%20test"). =====query subject_class("Todo", C), instance(C, "literal://string:get%20proxy%20test"). =====result [{"C":"c"}] =====result [{"C":"c"}] =====query subject_class("Todo", C), property(C, Property). =====result [{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] =====query subject_class("Todo", C), property_resolve(C, "state"). =====result false =====query subject_class("Todo", C), property_resolve(C, "title"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property_resolve(C, "isLiked"). =====result false =====query subject_class("Todo", C), property_setter(C, Property, Setter). =====result [{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_resolve_language(C, "state", Language). =====result false =====query subject_class("Todo", C), property_resolve_language(C, "title", Language). =====result [{"C":"c","Language":"literal"}] =====query subject_class("Todo", C), collection(C, Collection). =====result [{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] =====query subject_class("Todo", C), collection_adder(C, Collection, Adder). =====result [{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] =====query subject_class("Todo", C), collection_remover(C, Collection, Remover). =====result [{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), collection_setter(C, Collection, Setter). =====result [{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_getter(C, "literal://string:construct%20test", "state", Value). =====result [{"C":"c","Value":"todo://done"}] =====query subject_class(Class, C), property(C, "state"), property(C, "title"), collection(C, "comments"), property_setter(C, "state", _), property_setter(C, "title", _), collection_adder(C, "commentss", _), collection_setter(C, "commentss", _). =====result [{"C":"c","Class":"Todo"}] =====query subject_class(Class, C), property(C, "name"), property(C, "x"), property_setter(C, "top", _). =====result false =====query subject_class(Class, C), property(C, "state"), property(C, "title"), collection(C, "comments"), property_setter(C, "state", _), property_setter(C, "title", _), property_setter(C, "top", _), collection_adder(C, "comments", _). =====result false =====query subject_class(Class, C), property(C, "state"), property(C, "title"), collection(C, "comments"), property_setter(C, "state", _), property_setter(C, "title", _), collection_adder(C, "commentss", _), collection_setter(C, "commentss", _). =====result [{"C":"c","Class":"Todo"}] =====query subject_class("Todo", C), instance(C, X). =====result [{"C":"c","X":"literal://string:get%20proxy%20test"},{"C":"c","X":"literal://string:construct%20test"}] =====query subject_class("Todo", C), instance(C, "literal://string:get%20proxy%20test"). =====query subject_class("Todo", C), instance(C, "literal://string:construct%20test"). =====result [{"C":"c"}] =====result [{"C":"c"}] =====query subject_class("Todo", C), instance(C, "literal://string:construct%20test"). =====query subject_class("Todo", C), instance(C, "literal://string:get%20proxy%20test"). =====result [{"C":"c"}] =====result [{"C":"c"}] =====query subject_class("Todo", C), property(C, Property). =====result [{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] =====query subject_class("Todo", C), property_resolve(C, "state"). =====result false =====query subject_class("Todo", C), property_resolve(C, "title"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property_resolve(C, "isLiked"). =====result false =====query subject_class("Todo", C), property_setter(C, Property, Setter). =====result [{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_resolve_language(C, "state", Language). =====result false =====query subject_class("Todo", C), property_resolve_language(C, "title", Language). =====result [{"C":"c","Language":"literal"}] =====query subject_class("Todo", C), collection(C, Collection). =====result [{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] =====query subject_class("Todo", C), collection_adder(C, Collection, Adder). =====result [{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] =====query subject_class("Todo", C), collection_remover(C, Collection, Remover). =====result [{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), collection_setter(C, Collection, Setter). =====result [{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_getter(C, "literal://string:construct%20test", "state", Value). =====result [{"C":"c","Value":"todo://done"}] =====query subject_class(Class, C), property(C, "state"), property(C, "title"), property(C, "isLiked"), property_setter(C, "state", _), property_setter(C, "title", _), collection_adder(C, "commentss", _), collection_adder(C, "entriess", _), collection_adder(C, "messagess", _), collection_adder(C, "likedMessagess", _), collection_remover(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "messagess", _), collection_remover(C, "likedMessagess", _), collection_setter(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "messagess", _), collection_setter(C, "likedMessagess", _). =====result [{"C":"c","Class":"Todo"}] =====query subject_class("Todo", C), constructor(C, Actions). =====result [{"Actions":"[{action: \"addLink\", source: \"this\", predicate: \"todo://state\", target: \"todo://ready\"}]","C":"c"}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://ready"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://ready", 1706790528552, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). =====query subject_class(Class, C), property(C, "state"), property(C, "title"), property(C, "isLiked"), property_setter(C, "state", _), property_setter(C, "title", _), collection_adder(C, "commentss", _), collection_adder(C, "entriess", _), collection_adder(C, "messagess", _), collection_adder(C, "likedMessagess", _), collection_remover(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "messagess", _), collection_remover(C, "likedMessagess", _), collection_setter(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "messagess", _), collection_setter(C, "likedMessagess", _). =====result [{"C":"c","Class":"Todo"}] =====query subject_class("Todo", C), instance(C, "literal://string:Decorated%20class%20construction%20test"). =====result [{"C":"c"}] =====query subject_class(Class, C), property(C, "state"), property(C, "title"), property(C, "isLiked"), property_setter(C, "state", _), property_setter(C, "title", _), collection_adder(C, "commentss", _), collection_adder(C, "entriess", _), collection_adder(C, "messagess", _), collection_adder(C, "likedMessagess", _), collection_remover(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "messagess", _), collection_remover(C, "likedMessagess", _), collection_setter(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "messagess", _), collection_setter(C, "likedMessagess", _). =====result [{"C":"c","Class":"Todo"}] =====query subject_class("Todo", C), instance(C, "literal://string:Decorated%20class%20construction%20test"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property(C, Property). =====result [{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] =====query subject_class("Todo", C), property_resolve(C, "state"). =====result false =====query subject_class("Todo", C), property_resolve(C, "title"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property_resolve(C, "isLiked"). =====result false =====query subject_class("Todo", C), property_setter(C, Property, Setter). =====result [{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_resolve_language(C, "state", Language). =====result false =====query subject_class("Todo", C), property_resolve_language(C, "title", Language). =====result [{"C":"c","Language":"literal"}] =====query subject_class("Todo", C), collection(C, Collection). =====result [{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] =====query subject_class("Todo", C), collection_adder(C, Collection, Adder). =====result [{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] =====query subject_class("Todo", C), collection_remover(C, Collection, Remover). =====result [{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), collection_setter(C, Collection, Setter). =====result [{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class(Class, C), property(C, "state"), property(C, "title"), property(C, "isLiked"), property_setter(C, "state", _), property_setter(C, "title", _), collection_adder(C, "commentss", _), collection_adder(C, "entriess", _), collection_adder(C, "messagess", _), collection_adder(C, "likedMessagess", _), collection_remover(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "messagess", _), collection_remover(C, "likedMessagess", _), collection_setter(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "messagess", _), collection_setter(C, "likedMessagess", _). =====result [{"C":"c","Class":"Todo"}] =====query subject_class("Todo", C), instance(C, "literal://string:Decorated%20class%20construction%20test"). =====result [{"C":"c"}] =====query subject_class(Class, C), property(C, "state"), property(C, "title"), property(C, "isLiked"), property_setter(C, "state", _), property_setter(C, "title", _), collection_adder(C, "commentss", _), collection_adder(C, "entriess", _), collection_adder(C, "messagess", _), collection_adder(C, "likedMessagess", _), collection_remover(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "messagess", _), collection_remover(C, "likedMessagess", _), collection_setter(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "messagess", _), collection_setter(C, "likedMessagess", _). =====result [{"C":"c","Class":"Todo"}] =====query subject_class("Todo", C), instance(C, "literal://string:Decorated%20class%20construction%20test"). =====result [{"C":"c"}] =====query subject_class(Class, C), property(C, "state"), property(C, "title"), property(C, "isLiked"), property_setter(C, "state", _), property_setter(C, "title", _), collection_adder(C, "commentss", _), collection_adder(C, "entriess", _), collection_adder(C, "messagess", _), collection_adder(C, "likedMessagess", _), collection_remover(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "messagess", _), collection_remover(C, "likedMessagess", _), collection_setter(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "messagess", _), collection_setter(C, "likedMessagess", _). =====result [{"C":"c","Class":"Todo"}] =====query subject_class("Todo", C), instance(C, "literal://string:Decorated%20class%20construction%20test"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property(C, Property). =====result [{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] =====query subject_class("Todo", C), property_resolve(C, "state"). =====result false =====query subject_class("Todo", C), property_resolve(C, "title"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property_resolve(C, "isLiked"). =====result false =====query subject_class("Todo", C), property_setter(C, Property, Setter). =====result [{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_resolve_language(C, "state", Language). =====result false =====query subject_class("Todo", C), property_resolve_language(C, "title", Language). =====result [{"C":"c","Language":"literal"}] =====query subject_class("Todo", C), collection(C, Collection). =====result [{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] =====query subject_class("Todo", C), collection_adder(C, Collection, Adder). =====result [{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] =====query subject_class("Todo", C), collection_remover(C, Collection, Remover). =====result [{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), collection_setter(C, Collection, Setter). =====result [{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_getter(C, "literal://string:Decorated%20class%20construction%20test", "state", Value). =====result [{"C":"c","Value":"todo://ready"}] =====query subject_class("Todo", C), property_getter(C, "literal://string:Decorated%20class%20construction%20test", "title", Value). =====result false =====query subject_class("Todo", C), collection_getter(C, "literal://string:Decorated%20class%20construction%20test", "comments", Value). =====result [{"C":"c","Value":[""]}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). =====query subject_class("Todo", C), property_getter(C, "literal://string:Decorated%20class%20construction%20test", "state", Value). =====result [{"C":"c","Value":"todo://review"}] =====query subject_class("Todo", C), collection_getter(C, "literal://string:Decorated%20class%20construction%20test", "comments", Value). =====result [{"C":"c","Value":[""]}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). languageAddress("literal://string:new%20comment", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). languageName("literal://string:new%20comment", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). expressionAddress("literal://string:new%20comment", "string:new%20comment"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). =====query subject_class("Todo", C), collection_getter(C, "literal://string:Decorated%20class%20construction%20test", "comments", Value). =====result [{"C":"c","Value":["literal://string:new%20comment"]}] =====query subject_class("Todo", C), instance(C, Instance). =====result [{"C":"c","Instance":"literal://string:get%20proxy%20test"},{"C":"c","Instance":"literal://string:construct%20test"},{"C":"c","Instance":"literal://string:Decorated%20class%20construction%20test"}] =====query subject_class("Todo", C), instance(C, "literal://string:get%20proxy%20test"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property(C, Property). =====result [{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] =====query subject_class("Todo", C), property_resolve(C, "state"). =====result false =====query subject_class("Todo", C), property_resolve(C, "title"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property_resolve(C, "isLiked"). =====result false =====query subject_class("Todo", C), property_setter(C, Property, Setter). =====result [{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_resolve_language(C, "state", Language). =====result false =====query subject_class("Todo", C), property_resolve_language(C, "title", Language). =====result [{"C":"c","Language":"literal"}] =====query subject_class("Todo", C), collection(C, Collection). =====result [{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] =====query subject_class("Todo", C), collection_adder(C, Collection, Adder). =====result [{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] =====query subject_class("Todo", C), collection_remover(C, Collection, Remover). =====result [{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), collection_setter(C, Collection, Setter). =====result [{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), instance(C, "literal://string:construct%20test"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property(C, Property). =====result [{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] =====query subject_class("Todo", C), property_resolve(C, "state"). =====result false =====query subject_class("Todo", C), property_resolve(C, "title"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property_resolve(C, "isLiked"). =====result false =====query subject_class("Todo", C), property_setter(C, Property, Setter). =====result [{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_resolve_language(C, "state", Language). =====result false =====query subject_class("Todo", C), property_resolve_language(C, "title", Language). =====result [{"C":"c","Language":"literal"}] =====query subject_class("Todo", C), collection(C, Collection). =====result [{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] =====query subject_class("Todo", C), collection_adder(C, Collection, Adder). =====result [{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] =====query subject_class("Todo", C), collection_remover(C, Collection, Remover). =====result [{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), collection_setter(C, Collection, Setter). =====result [{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), instance(C, "literal://string:Decorated%20class%20construction%20test"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property(C, Property). =====result [{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] =====query subject_class("Todo", C), property_resolve(C, "state"). =====result false =====query subject_class("Todo", C), property_resolve(C, "title"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property_resolve(C, "isLiked"). =====result false =====query subject_class("Todo", C), property_setter(C, Property, Setter). =====result [{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_resolve_language(C, "state", Language). =====result false =====query subject_class("Todo", C), property_resolve_language(C, "title", Language). =====result [{"C":"c","Language":"literal"}] =====query subject_class("Todo", C), collection(C, Collection). =====result [{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] =====query subject_class("Todo", C), collection_adder(C, Collection, Adder). =====result [{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] =====query subject_class("Todo", C), collection_remover(C, Collection, Remover). =====result [{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), collection_setter(C, Collection, Setter). =====result [{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), instance(C, Instance), property_getter(C, Instance, "state", "todo://ready"). =====result [{"C":"c","Instance":"literal://string:get%20proxy%20test"}] =====query subject_class("Todo", C), instance(C, "literal://string:get%20proxy%20test"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property(C, Property). =====result [{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] =====query subject_class("Todo", C), property_resolve(C, "state"). =====result false =====query subject_class("Todo", C), property_resolve(C, "title"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property_resolve(C, "isLiked"). =====result false =====query subject_class("Todo", C), property_setter(C, Property, Setter). =====result [{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_resolve_language(C, "state", Language). =====result false =====query subject_class("Todo", C), property_resolve_language(C, "title", Language). =====result [{"C":"c","Language":"literal"}] =====query subject_class("Todo", C), collection(C, Collection). =====result [{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] =====query subject_class("Todo", C), collection_adder(C, Collection, Adder). =====result [{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] =====query subject_class("Todo", C), collection_remover(C, Collection, Remover). =====result [{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), collection_setter(C, Collection, Setter). =====result [{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_getter(C, "literal://string:get%20proxy%20test", "state", Value). =====result [{"C":"c","Value":"todo://ready"}] =====query subject_class("Todo", C), instance(C, Instance), property_getter(C, Instance, "state", "todo://done"). =====result [{"C":"c","Instance":"literal://string:construct%20test"}] =====query subject_class("Todo", C), instance(C, "literal://string:construct%20test"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property(C, Property). =====result [{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] =====query subject_class("Todo", C), property_resolve(C, "state"). =====result false =====query subject_class("Todo", C), property_resolve(C, "title"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property_resolve(C, "isLiked"). =====result false =====query subject_class("Todo", C), property_setter(C, Property, Setter). =====result [{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_resolve_language(C, "state", Language). =====result false =====query subject_class("Todo", C), property_resolve_language(C, "title", Language). =====result [{"C":"c","Language":"literal"}] =====query subject_class("Todo", C), collection(C, Collection). =====result [{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] =====query subject_class("Todo", C), collection_adder(C, Collection, Adder). =====result [{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] =====query subject_class("Todo", C), collection_remover(C, Collection, Remover). =====result [{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), collection_setter(C, Collection, Setter). =====result [{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_getter(C, "literal://string:construct%20test", "state", Value). =====result [{"C":"c","Value":"todo://done"}] =====query subject_class("Todo", C), instance(C, Instance), triple("ad4m://self", _, Instance). =====result false =====query subject_class("Todo", C), instance(C, Instance). =====result [{"C":"c","Instance":"literal://string:get%20proxy%20test"},{"C":"c","Instance":"literal://string:construct%20test"},{"C":"c","Instance":"literal://string:Decorated%20class%20construction%20test"}] =====query subject_class("Todo", C), instance(C, "literal://string:get%20proxy%20test"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property(C, Property). =====result [{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] =====query subject_class("Todo", C), property_resolve(C, "state"). =====result false =====query subject_class("Todo", C), property_resolve(C, "title"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property_resolve(C, "isLiked"). =====result false =====query subject_class("Todo", C), property_setter(C, Property, Setter). =====result [{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_resolve_language(C, "state", Language). =====result false =====query subject_class("Todo", C), property_resolve_language(C, "title", Language). =====result [{"C":"c","Language":"literal"}] =====query subject_class("Todo", C), collection(C, Collection). =====result [{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] =====query subject_class("Todo", C), collection_adder(C, Collection, Adder). =====result [{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] =====query subject_class("Todo", C), collection_remover(C, Collection, Remover). =====result [{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), collection_setter(C, Collection, Setter). =====result [{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), instance(C, "literal://string:construct%20test"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property(C, Property). =====result [{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] =====query subject_class("Todo", C), property_resolve(C, "state"). =====result false =====query subject_class("Todo", C), property_resolve(C, "title"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property_resolve(C, "isLiked"). =====result false =====query subject_class("Todo", C), property_setter(C, Property, Setter). =====result [{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_resolve_language(C, "state", Language). =====result false =====query subject_class("Todo", C), property_resolve_language(C, "title", Language). =====result [{"C":"c","Language":"literal"}] =====query subject_class("Todo", C), collection(C, Collection). =====result [{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] =====query subject_class("Todo", C), collection_adder(C, Collection, Adder). =====result [{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] =====query subject_class("Todo", C), collection_remover(C, Collection, Remover). =====result [{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), collection_setter(C, Collection, Setter). =====result [{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), instance(C, "literal://string:Decorated%20class%20construction%20test"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property(C, Property). =====result [{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] =====query subject_class("Todo", C), property_resolve(C, "state"). =====result false =====query subject_class("Todo", C), property_resolve(C, "title"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property_resolve(C, "isLiked"). =====result false =====query subject_class("Todo", C), property_setter(C, Property, Setter). =====result [{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_resolve_language(C, "state", Language). =====result false =====query subject_class("Todo", C), property_resolve_language(C, "title", Language). =====result [{"C":"c","Language":"literal"}] =====query subject_class("Todo", C), collection(C, Collection). =====result [{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] =====query subject_class("Todo", C), collection_adder(C, Collection, Adder). =====result [{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] =====query subject_class("Todo", C), collection_remover(C, Collection, Remover). =====result [{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), collection_setter(C, Collection, Setter). =====result [{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). triple("ad4m://self", "", "literal://string:get%20proxy%20test"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). languageAddress("literal://string:new%20comment", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). languageName("literal://string:new%20comment", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). expressionAddress("literal://string:new%20comment", "string:new%20comment"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). =====query subject_class("Todo", C), instance(C, Instance), triple("ad4m://self", _, Instance). =====result [{"C":"c","Instance":"literal://string:get%20proxy%20test"}] =====query subject_class("Todo", C), instance(C, "literal://string:get%20proxy%20test"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property(C, Property). =====result [{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] =====query subject_class("Todo", C), property_resolve(C, "state"). =====result false =====query subject_class("Todo", C), property_resolve(C, "title"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property_resolve(C, "isLiked"). =====result false =====query subject_class("Todo", C), property_setter(C, Property, Setter). =====result [{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_resolve_language(C, "state", Language). =====result false =====query subject_class("Todo", C), property_resolve_language(C, "title", Language). =====result [{"C":"c","Language":"literal"}] =====query subject_class("Todo", C), collection(C, Collection). =====result [{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] =====query subject_class("Todo", C), collection_adder(C, Collection, Adder). =====result [{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] =====query subject_class("Todo", C), collection_remover(C, Collection, Remover). =====result [{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), collection_setter(C, Collection, Setter). =====result [{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), instance(C, Instance). =====result [{"C":"c","Instance":"literal://string:get%20proxy%20test"},{"C":"c","Instance":"literal://string:construct%20test"},{"C":"c","Instance":"literal://string:Decorated%20class%20construction%20test"}] =====query subject_class("Todo", C), instance(C, "literal://string:get%20proxy%20test"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property(C, Property). =====result [{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] =====query subject_class("Todo", C), property_resolve(C, "state"). =====result false =====query subject_class("Todo", C), property_resolve(C, "title"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property_resolve(C, "isLiked"). =====result false =====query subject_class("Todo", C), property_setter(C, Property, Setter). =====result [{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_resolve_language(C, "state", Language). =====result false =====query subject_class("Todo", C), property_resolve_language(C, "title", Language). =====result [{"C":"c","Language":"literal"}] =====query subject_class("Todo", C), collection(C, Collection). =====result [{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] =====query subject_class("Todo", C), collection_adder(C, Collection, Adder). =====result [{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] =====query subject_class("Todo", C), collection_remover(C, Collection, Remover). =====result [{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), collection_setter(C, Collection, Setter). =====result [{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), instance(C, "literal://string:construct%20test"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property(C, Property). =====result [{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] =====query subject_class("Todo", C), property_resolve(C, "state"). =====result false =====query subject_class("Todo", C), property_resolve(C, "title"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property_resolve(C, "isLiked"). =====result false =====query subject_class("Todo", C), property_setter(C, Property, Setter). =====result [{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_resolve_language(C, "state", Language). =====result false =====query subject_class("Todo", C), property_resolve_language(C, "title", Language). =====result [{"C":"c","Language":"literal"}] =====query subject_class("Todo", C), collection(C, Collection). =====result [{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] =====query subject_class("Todo", C), collection_adder(C, Collection, Adder). =====result [{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] =====query subject_class("Todo", C), collection_remover(C, Collection, Remover). =====result [{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), collection_setter(C, Collection, Setter). =====result [{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), instance(C, "literal://string:Decorated%20class%20construction%20test"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property(C, Property). =====result [{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] =====query subject_class("Todo", C), property_resolve(C, "state"). =====result false =====query subject_class("Todo", C), property_resolve(C, "title"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property_resolve(C, "isLiked"). =====result false =====query subject_class("Todo", C), property_setter(C, Property, Setter). =====result [{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_resolve_language(C, "state", Language). =====result false =====query subject_class("Todo", C), property_resolve_language(C, "title", Language). =====result [{"C":"c","Language":"literal"}] =====query subject_class("Todo", C), collection(C, Collection). =====result [{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] =====query subject_class("Todo", C), collection_adder(C, Collection, Adder). =====result [{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] =====query subject_class("Todo", C), collection_remover(C, Collection, Remover). =====result [{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), collection_setter(C, Collection, Setter). =====result [{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_getter(C, "literal://string:get%20proxy%20test", "title", Value). =====result false =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). triple("ad4m://self", "", "literal://string:get%20proxy%20test"). triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). languageAddress("literal://string:new%20comment", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). languageName("literal://string:new%20comment", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). expressionAddress("literal://string:new%20comment", "string:new%20comment"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). =====query subject_class("Todo", C), property_getter(C, "literal://string:get%20proxy%20test", "title", Value). =====result [{"C":"c","Value":"literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"}] =====query subject_class(Class, C), property(C, "number"). =====result false =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). triple("ad4m://self", "", "literal://string:get%20proxy%20test"). triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). languageAddress("literal://string:new%20comment", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:Test", "literal"). languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). languageName("literal://string:new%20comment", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:Test", "literal"). languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). expressionAddress("literal://string:new%20comment", "string:new%20comment"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:Test", "string:Test"). expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). subject_class("Test", srksdbln). constructor(srksdbln, '[]'). destructor(srksdbln, '[]'). property(srksdbln, "number"). property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). =====query subject_class(Class, C), property(C, "state"), property(C, "title"), property(C, "isLiked"), property_setter(C, "state", _), property_setter(C, "title", _), collection_adder(C, "commentss", _), collection_adder(C, "entriess", _), collection_adder(C, "messagess", _), collection_adder(C, "likedMessagess", _), collection_remover(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "messagess", _), collection_remover(C, "likedMessagess", _), collection_setter(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "messagess", _), collection_setter(C, "likedMessagess", _). =====result [{"C":"c","Class":"Todo"}] =====query subject_class("Todo", C), constructor(C, Actions). =====result [{"Actions":"[{action: \"addLink\", source: \"this\", predicate: \"todo://state\", target: \"todo://ready\"}]","C":"c"}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). triple("ad4m://self", "", "literal://string:get%20proxy%20test"). triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). languageAddress("literal://string:new%20comment", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:Test", "literal"). languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). languageName("literal://string:new%20comment", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:Test", "literal"). languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). expressionAddress("literal://string:new%20comment", "string:new%20comment"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:Test", "string:Test"). expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). subject_class("Test", srksdbln). constructor(srksdbln, '[]'). destructor(srksdbln, '[]'). property(srksdbln, "number"). property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). =====query subject_class(Class, C), property(C, "state"), property(C, "title"), property(C, "isLiked"), property_setter(C, "state", _), property_setter(C, "title", _), collection_adder(C, "commentss", _), collection_adder(C, "entriess", _), collection_adder(C, "messagess", _), collection_adder(C, "likedMessagess", _), collection_remover(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "messagess", _), collection_remover(C, "likedMessagess", _), collection_setter(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "messagess", _), collection_setter(C, "likedMessagess", _). =====result [{"C":"c","Class":"Todo"}] =====query subject_class("Todo", C), instance(C, "literal://string:Collection%20where%20test%20with%20prolog%20condition"). =====result [{"C":"c"}] =====query subject_class(Class, C), property(C, "state"), property(C, "title"), property(C, "isLiked"), property_setter(C, "state", _), property_setter(C, "title", _), collection_adder(C, "commentss", _), collection_adder(C, "entriess", _), collection_adder(C, "messagess", _), collection_adder(C, "likedMessagess", _), collection_remover(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "messagess", _), collection_remover(C, "likedMessagess", _), collection_setter(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "messagess", _), collection_setter(C, "likedMessagess", _). =====result [{"C":"c","Class":"Todo"}] =====query subject_class("Todo", C), instance(C, "literal://string:Collection%20where%20test%20with%20prolog%20condition"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property(C, Property). =====result [{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] =====query subject_class("Todo", C), property_resolve(C, "state"). =====result false =====query subject_class("Todo", C), property_resolve(C, "title"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property_resolve(C, "isLiked"). =====result false =====query subject_class("Todo", C), property_setter(C, Property, Setter). =====result [{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_resolve_language(C, "state", Language). =====result false =====query subject_class("Todo", C), property_resolve_language(C, "title", Language). =====result [{"C":"c","Language":"literal"}] =====query subject_class("Todo", C), collection(C, Collection). =====result [{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] =====query subject_class("Todo", C), collection_adder(C, Collection, Adder). =====result [{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] =====query subject_class("Todo", C), collection_remover(C, Collection, Remover). =====result [{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), collection_setter(C, Collection, Setter). =====result [{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). triple("ad4m://self", "", "literal://string:get%20proxy%20test"). triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). languageAddress("literal://string:new%20comment", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:Test", "literal"). languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageAddress("literal://string:test%20message", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). languageName("literal://string:new%20comment", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:Test", "literal"). languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageName("literal://string:test%20message", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). expressionAddress("literal://string:new%20comment", "string:new%20comment"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:Test", "string:Test"). expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). expressionAddress("literal://string:test%20message", "string:test%20message"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). subject_class("Test", srksdbln). constructor(srksdbln, '[]'). destructor(srksdbln, '[]'). property(srksdbln, "number"). property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). =====query subject_class("Todo", C), collection_getter(C, "literal://string:Collection%20where%20test%20with%20prolog%20condition", "entries", Value). =====result [{"C":"c","Value":["literal://string:test%20message"]}] =====query subject_class("Todo", C), collection_getter(C, "literal://string:Collection%20where%20test%20with%20prolog%20condition", "likedMessages", Value). =====result false =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). triple("ad4m://self", "", "literal://string:get%20proxy%20test"). triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). languageAddress("literal://string:new%20comment", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:Test", "literal"). languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageAddress("literal://string:test%20message", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). languageName("literal://string:new%20comment", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:Test", "literal"). languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageName("literal://string:test%20message", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). expressionAddress("literal://string:new%20comment", "string:new%20comment"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:Test", "string:Test"). expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). expressionAddress("literal://string:test%20message", "string:test%20message"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). subject_class("Test", srksdbln). constructor(srksdbln, '[]'). destructor(srksdbln, '[]'). property(srksdbln, "number"). property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). =====query subject_class("Todo", C), collection_getter(C, "literal://string:Collection%20where%20test%20with%20prolog%20condition", "likedMessages", Value). =====result [{"C":"c","Value":["literal://string:test%20message"]}] =====query subject_class(Class, C), property(C, "state"), property(C, "title"), property(C, "isLiked"), property_setter(C, "state", _), property_setter(C, "title", _), collection_adder(C, "commentss", _), collection_adder(C, "entriess", _), collection_adder(C, "messagess", _), collection_adder(C, "likedMessagess", _), collection_remover(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "messagess", _), collection_remover(C, "likedMessagess", _), collection_setter(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "messagess", _), collection_setter(C, "likedMessagess", _). =====result [{"C":"c","Class":"Todo"}] =====query subject_class("Todo", C), constructor(C, Actions). =====result [{"Actions":"[{action: \"addLink\", source: \"this\", predicate: \"todo://state\", target: \"todo://ready\"}]","C":"c"}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). triple("ad4m://self", "", "literal://string:get%20proxy%20test"). triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). languageAddress("literal://string:new%20comment", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:Test", "literal"). languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageAddress("literal://string:test%20message", "literal"). languageAddress("literal://string:Custom%20getter%20test", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). languageName("literal://string:new%20comment", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:Test", "literal"). languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageName("literal://string:test%20message", "literal"). languageName("literal://string:Custom%20getter%20test", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). expressionAddress("literal://string:new%20comment", "string:new%20comment"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:Test", "string:Test"). expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). expressionAddress("literal://string:test%20message", "string:test%20message"). expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). subject_class("Test", srksdbln). constructor(srksdbln, '[]'). destructor(srksdbln, '[]'). property(srksdbln, "number"). property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). =====query subject_class(Class, C), property(C, "state"), property(C, "title"), property(C, "isLiked"), property_setter(C, "state", _), property_setter(C, "title", _), collection_adder(C, "commentss", _), collection_adder(C, "entriess", _), collection_adder(C, "messagess", _), collection_adder(C, "likedMessagess", _), collection_remover(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "messagess", _), collection_remover(C, "likedMessagess", _), collection_setter(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "messagess", _), collection_setter(C, "likedMessagess", _). =====result [{"C":"c","Class":"Todo"}] =====query subject_class("Todo", C), instance(C, "literal://string:Custom%20getter%20test"). =====result [{"C":"c"}] =====query subject_class(Class, C), property(C, "state"), property(C, "title"), property(C, "isLiked"), property_setter(C, "state", _), property_setter(C, "title", _), collection_adder(C, "commentss", _), collection_adder(C, "entriess", _), collection_adder(C, "messagess", _), collection_adder(C, "likedMessagess", _), collection_remover(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "messagess", _), collection_remover(C, "likedMessagess", _), collection_setter(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "messagess", _), collection_setter(C, "likedMessagess", _). =====result [{"C":"c","Class":"Todo"}] =====query subject_class("Todo", C), instance(C, "literal://string:Custom%20getter%20test"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property(C, Property). =====result [{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] =====query subject_class("Todo", C), property_resolve(C, "state"). =====result false =====query subject_class("Todo", C), property_resolve(C, "title"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property_resolve(C, "isLiked"). =====result false =====query subject_class("Todo", C), property_setter(C, Property, Setter). =====result [{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_resolve_language(C, "state", Language). =====result false =====query subject_class("Todo", C), property_resolve_language(C, "title", Language). =====result [{"C":"c","Language":"literal"}] =====query subject_class("Todo", C), collection(C, Collection). =====result [{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] =====query subject_class("Todo", C), collection_adder(C, Collection, Adder). =====result [{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] =====query subject_class("Todo", C), collection_remover(C, Collection, Remover). =====result [{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), collection_setter(C, Collection, Setter). =====result [{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_getter(C, "literal://string:Custom%20getter%20test", "isLiked", Value). =====result false =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). triple("ad4m://self", "", "literal://string:get%20proxy%20test"). triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). languageAddress("literal://string:new%20comment", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:Test", "literal"). languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageAddress("literal://string:test%20message", "literal"). languageAddress("literal://string:Custom%20getter%20test", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). languageName("literal://string:new%20comment", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:Test", "literal"). languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageName("literal://string:test%20message", "literal"). languageName("literal://string:Custom%20getter%20test", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). expressionAddress("literal://string:new%20comment", "string:new%20comment"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:Test", "string:Test"). expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). expressionAddress("literal://string:test%20message", "string:test%20message"). expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). subject_class("Test", srksdbln). constructor(srksdbln, '[]'). destructor(srksdbln, '[]'). property(srksdbln, "number"). property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). =====query subject_class("Todo", C), property_getter(C, "literal://string:Custom%20getter%20test", "isLiked", Value). =====result [{"C":"c","Value":true}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). triple("ad4m://self", "", "literal://string:get%20proxy%20test"). triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). triple("test://message", "ad4m://type", "ad4m://undefined"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). languageAddress("literal://string:new%20comment", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:Test", "literal"). languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageAddress("literal://string:test%20message", "literal"). languageAddress("literal://string:Custom%20getter%20test", "literal"). languageAddress("literal://string:Message", "literal"). languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). languageName("literal://string:new%20comment", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:Test", "literal"). languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageName("literal://string:test%20message", "literal"). languageName("literal://string:Custom%20getter%20test", "literal"). languageName("literal://string:Message", "literal"). languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). expressionAddress("literal://string:new%20comment", "string:new%20comment"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:Test", "string:Test"). expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). expressionAddress("literal://string:test%20message", "string:test%20message"). expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). expressionAddress("literal://string:Message", "string:Message"). expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). subject_class("Test", srksdbln). constructor(srksdbln, '[]'). destructor(srksdbln, '[]'). property(srksdbln, "number"). property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). subject_class("Message", mqvvfluy). constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(mqvvfluy, "type"). property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(mqvvfluy, "body"). property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). =====query subject_class("Message", C), instance(C, Instance). =====result false =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). triple("ad4m://self", "", "literal://string:get%20proxy%20test"). triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). triple("test://message", "ad4m://type", "ad4m://undefined"). triple("test://message", "ad4m://type", "ad4m://message"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). languageAddress("literal://string:new%20comment", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:Test", "literal"). languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageAddress("literal://string:test%20message", "literal"). languageAddress("literal://string:Custom%20getter%20test", "literal"). languageAddress("literal://string:Message", "literal"). languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). languageName("literal://string:new%20comment", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:Test", "literal"). languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageName("literal://string:test%20message", "literal"). languageName("literal://string:Custom%20getter%20test", "literal"). languageName("literal://string:Message", "literal"). languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). expressionAddress("literal://string:new%20comment", "string:new%20comment"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:Test", "string:Test"). expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). expressionAddress("literal://string:test%20message", "string:test%20message"). expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). expressionAddress("literal://string:Message", "string:Message"). expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). subject_class("Test", srksdbln). constructor(srksdbln, '[]'). destructor(srksdbln, '[]'). property(srksdbln, "number"). property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). subject_class("Message", mqvvfluy). constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(mqvvfluy, "type"). property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(mqvvfluy, "body"). property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). =====query subject_class("Message", C), instance(C, Instance). =====result [{"C":"mqvvfluy","Instance":"test://message"}] =====query subject_class("Message", C), instance(C, "test://message"). =====result [{"C":"mqvvfluy"}] =====query subject_class("Message", C), property(C, Property). =====result [{"C":"mqvvfluy","Property":"type"},{"C":"mqvvfluy","Property":"body"}] =====query subject_class("Message", C), property_resolve(C, "type"). =====result false =====query subject_class("Message", C), property_resolve(C, "body"). =====result false =====query subject_class("Message", C), property_setter(C, Property, Setter). =====result [{"C":"mqvvfluy","Property":"body","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"}] =====query subject_class("Message", C), property_resolve_language(C, "body", Language). =====result false =====query subject_class("Message", C), collection(C, Collection). =====result false =====query subject_class("Message", C), collection_adder(C, Collection, Adder). =====result false =====query subject_class("Message", C), collection_remover(C, Collection, Remover). =====result false =====query subject_class("Message", C), collection_setter(C, Collection, Setter). =====result false =====query subject_class(Class, C), property(C, "state"), property(C, "title"), property(C, "isLiked"), property_setter(C, "state", _), property_setter(C, "title", _), collection_adder(C, "commentss", _), collection_adder(C, "entriess", _), collection_adder(C, "messagess", _), collection_adder(C, "likedMessagess", _), collection_remover(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "messagess", _), collection_remover(C, "likedMessagess", _), collection_setter(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "messagess", _), collection_setter(C, "likedMessagess", _). =====result [{"C":"c","Class":"Todo"}] =====query subject_class("Todo", C), constructor(C, Actions). =====result [{"Actions":"[{action: \"addLink\", source: \"this\", predicate: \"todo://state\", target: \"todo://ready\"}]","C":"c"}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). triple("ad4m://self", "", "literal://string:get%20proxy%20test"). triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). triple("test://message", "ad4m://type", "ad4m://undefined"). triple("test://message", "ad4m://type", "ad4m://message"). triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). languageAddress("literal://string:new%20comment", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:Test", "literal"). languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageAddress("literal://string:test%20message", "literal"). languageAddress("literal://string:Custom%20getter%20test", "literal"). languageAddress("literal://string:Message", "literal"). languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). languageName("literal://string:new%20comment", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:Test", "literal"). languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageName("literal://string:test%20message", "literal"). languageName("literal://string:Custom%20getter%20test", "literal"). languageName("literal://string:Message", "literal"). languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). expressionAddress("literal://string:new%20comment", "string:new%20comment"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:Test", "string:Test"). expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). expressionAddress("literal://string:test%20message", "string:test%20message"). expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). expressionAddress("literal://string:Message", "string:Message"). expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). subject_class("Test", srksdbln). constructor(srksdbln, '[]'). destructor(srksdbln, '[]'). property(srksdbln, "number"). property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). subject_class("Message", mqvvfluy). constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(mqvvfluy, "type"). property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(mqvvfluy, "body"). property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). =====query subject_class(Class, C), property(C, "state"), property(C, "title"), property(C, "isLiked"), property_setter(C, "state", _), property_setter(C, "title", _), collection_adder(C, "commentss", _), collection_adder(C, "entriess", _), collection_adder(C, "messagess", _), collection_adder(C, "likedMessagess", _), collection_remover(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "messagess", _), collection_remover(C, "likedMessagess", _), collection_setter(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "messagess", _), collection_setter(C, "likedMessagess", _). =====result [{"C":"c","Class":"Todo"}] =====query subject_class("Todo", C), instance(C, "literal://string:Collection%20where%20test"). =====result [{"C":"c"}] =====query subject_class(Class, C), property(C, "state"), property(C, "title"), property(C, "isLiked"), property_setter(C, "state", _), property_setter(C, "title", _), collection_adder(C, "commentss", _), collection_adder(C, "entriess", _), collection_adder(C, "messagess", _), collection_adder(C, "likedMessagess", _), collection_remover(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "messagess", _), collection_remover(C, "likedMessagess", _), collection_setter(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "messagess", _), collection_setter(C, "likedMessagess", _). =====result [{"C":"c","Class":"Todo"}] =====query subject_class("Todo", C), instance(C, "literal://string:Collection%20where%20test"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property(C, Property). =====result [{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] =====query subject_class("Todo", C), property_resolve(C, "state"). =====result false =====query subject_class("Todo", C), property_resolve(C, "title"). =====result [{"C":"c"}] =====query subject_class("Todo", C), property_resolve(C, "isLiked"). =====result false =====query subject_class("Todo", C), property_setter(C, Property, Setter). =====result [{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_resolve_language(C, "state", Language). =====result false =====query subject_class("Todo", C), property_resolve_language(C, "title", Language). =====result [{"C":"c","Language":"literal"}] =====query subject_class("Todo", C), collection(C, Collection). =====result [{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] =====query subject_class("Todo", C), collection_adder(C, Collection, Adder). =====result [{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] =====query subject_class("Todo", C), collection_remover(C, Collection, Remover). =====result [{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), collection_setter(C, Collection, Setter). =====result [{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). triple("ad4m://self", "", "literal://string:get%20proxy%20test"). triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). triple("test://message", "ad4m://type", "ad4m://undefined"). triple("test://message", "ad4m://type", "ad4m://message"). triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). languageAddress("literal://string:new%20comment", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:Test", "literal"). languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageAddress("literal://string:test%20message", "literal"). languageAddress("literal://string:Custom%20getter%20test", "literal"). languageAddress("literal://string:Message", "literal"). languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). languageName("literal://string:new%20comment", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:Test", "literal"). languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageName("literal://string:test%20message", "literal"). languageName("literal://string:Custom%20getter%20test", "literal"). languageName("literal://string:Message", "literal"). languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). expressionAddress("literal://string:new%20comment", "string:new%20comment"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:Test", "string:Test"). expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). expressionAddress("literal://string:test%20message", "string:test%20message"). expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). expressionAddress("literal://string:Message", "string:Message"). expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). subject_class("Test", srksdbln). constructor(srksdbln, '[]'). destructor(srksdbln, '[]'). property(srksdbln, "number"). property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). subject_class("Message", mqvvfluy). constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(mqvvfluy, "type"). property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(mqvvfluy, "body"). property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). =====query subject_class("Todo", C), collection_getter(C, "literal://string:Collection%20where%20test", "entries", Value). =====result [{"C":"c","Value":["literal://string:test%20message"]}] =====query subject_class("Todo", C), collection_getter(C, "literal://string:Collection%20where%20test", "messages", Value). =====result false =====query subject_class(Class, C), property(C, "type"), property(C, "body"), property_setter(C, "body", _). =====result [{"C":"mqvvfluy","Class":"Message"}] =====query subject_class("Message", C), constructor(C, Actions). =====result [{"Actions":"[{action: \"addLink\", source: \"this\", predicate: \"ad4m://type\", target: \"ad4m://message\"}, {action: \"addLink\", source: \"this\", predicate: \"todo://state\", target: \"todo://ready\"}]","C":"mqvvfluy"}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). triple("ad4m://self", "", "literal://string:get%20proxy%20test"). triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). triple("test://message", "ad4m://type", "ad4m://undefined"). triple("test://message", "ad4m://type", "ad4m://message"). triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). triple("literal://string:test%20message", "todo://state", "todo://ready"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). languageAddress("literal://string:new%20comment", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:Test", "literal"). languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageAddress("literal://string:test%20message", "literal"). languageAddress("literal://string:Custom%20getter%20test", "literal"). languageAddress("literal://string:Message", "literal"). languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). languageName("literal://string:new%20comment", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:Test", "literal"). languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageName("literal://string:test%20message", "literal"). languageName("literal://string:Custom%20getter%20test", "literal"). languageName("literal://string:Message", "literal"). languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). expressionAddress("literal://string:new%20comment", "string:new%20comment"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:Test", "string:Test"). expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). expressionAddress("literal://string:test%20message", "string:test%20message"). expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). expressionAddress("literal://string:Message", "string:Message"). expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). subject_class("Test", srksdbln). constructor(srksdbln, '[]'). destructor(srksdbln, '[]'). property(srksdbln, "number"). property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). subject_class("Message", mqvvfluy). constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(mqvvfluy, "type"). property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(mqvvfluy, "body"). property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). =====query subject_class(Class, C), property(C, "type"), property(C, "body"), property_setter(C, "body", _). =====result [{"C":"mqvvfluy","Class":"Message"}] =====query subject_class("Message", C), instance(C, "literal://string:test%20message"). =====result [{"C":"mqvvfluy"}] =====query subject_class(Class, C), property(C, "type"), property(C, "body"), property_setter(C, "body", _). =====result [{"C":"mqvvfluy","Class":"Message"}] =====query subject_class("Message", C), instance(C, "literal://string:test%20message"). =====result [{"C":"mqvvfluy"}] =====query subject_class("Message", C), property(C, Property). =====result [{"C":"mqvvfluy","Property":"type"},{"C":"mqvvfluy","Property":"body"}] =====query subject_class("Message", C), property_resolve(C, "type"). =====result false =====query subject_class("Message", C), property_resolve(C, "body"). =====result false =====query subject_class("Message", C), property_setter(C, Property, Setter). =====result [{"C":"mqvvfluy","Property":"body","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"}] =====query subject_class("Message", C), property_resolve_language(C, "body", Language). =====result false =====query subject_class("Message", C), collection(C, Collection). =====result false =====query subject_class("Message", C), collection_adder(C, Collection, Adder). =====result false =====query subject_class("Message", C), collection_remover(C, Collection, Remover). =====result false =====query subject_class("Message", C), collection_setter(C, Collection, Setter). =====result false =====query subject_class("Todo", C), collection_getter(C, "literal://string:Collection%20where%20test", "messages", Value). =====result [{"C":"c","Value":["literal://string:test%20message"]}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). triple("ad4m://self", "", "literal://string:get%20proxy%20test"). triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). triple("test://message", "ad4m://type", "ad4m://undefined"). triple("test://message", "ad4m://type", "ad4m://message"). triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). triple("literal://string:test%20message", "todo://state", "todo://ready"). triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). languageAddress("literal://string:new%20comment", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:Test", "literal"). languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageAddress("literal://string:test%20message", "literal"). languageAddress("literal://string:Custom%20getter%20test", "literal"). languageAddress("literal://string:Message", "literal"). languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test", "literal"). languageAddress("literal://string:Recipe", "literal"). languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). languageName("literal://string:new%20comment", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:Test", "literal"). languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageName("literal://string:test%20message", "literal"). languageName("literal://string:Custom%20getter%20test", "literal"). languageName("literal://string:Message", "literal"). languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test", "literal"). languageName("literal://string:Recipe", "literal"). languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). expressionAddress("literal://string:new%20comment", "string:new%20comment"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:Test", "string:Test"). expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). expressionAddress("literal://string:test%20message", "string:test%20message"). expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). expressionAddress("literal://string:Message", "string:Message"). expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). expressionAddress("literal://string:Recipe", "string:Recipe"). expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). subject_class("Test", srksdbln). constructor(srksdbln, '[]'). destructor(srksdbln, '[]'). property(srksdbln, "number"). property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). subject_class("Message", mqvvfluy). constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(mqvvfluy, "type"). property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(mqvvfluy, "body"). property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). subject_class("Recipe", nzkpcwbu). constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). property(nzkpcwbu, "type"). property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(nzkpcwbu, "name"). property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). property(nzkpcwbu, "local"). property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). collection(nzkpcwbu, "entries"). collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "ingredients"). collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "comments"). collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class("Recipe", C), constructor(C, Actions). =====result [{"Actions":"[{action: \"addLink\", source: \"this\", predicate: \"ad4m://type\", target: \"ad4m://recipe\"}]","C":"nzkpcwbu"}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). triple("ad4m://self", "", "literal://string:get%20proxy%20test"). triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). triple("test://message", "ad4m://type", "ad4m://undefined"). triple("test://message", "ad4m://type", "ad4m://message"). triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). triple("literal://string:test%20message", "todo://state", "todo://ready"). triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706790532212, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). languageAddress("literal://string:new%20comment", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:Test", "literal"). languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageAddress("literal://string:test%20message", "literal"). languageAddress("literal://string:Custom%20getter%20test", "literal"). languageAddress("literal://string:Message", "literal"). languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test", "literal"). languageAddress("literal://string:Recipe", "literal"). languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). languageName("literal://string:new%20comment", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:Test", "literal"). languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageName("literal://string:test%20message", "literal"). languageName("literal://string:Custom%20getter%20test", "literal"). languageName("literal://string:Message", "literal"). languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test", "literal"). languageName("literal://string:Recipe", "literal"). languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:Active%20record%20implementation%20test", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). expressionAddress("literal://string:new%20comment", "string:new%20comment"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:Test", "string:Test"). expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). expressionAddress("literal://string:test%20message", "string:test%20message"). expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). expressionAddress("literal://string:Message", "string:Message"). expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). expressionAddress("literal://string:Recipe", "string:Recipe"). expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). subject_class("Test", srksdbln). constructor(srksdbln, '[]'). destructor(srksdbln, '[]'). property(srksdbln, "number"). property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). subject_class("Message", mqvvfluy). constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(mqvvfluy, "type"). property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(mqvvfluy, "body"). property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). subject_class("Recipe", nzkpcwbu). constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). property(nzkpcwbu, "type"). property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(nzkpcwbu, "name"). property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). property(nzkpcwbu, "local"). property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). collection(nzkpcwbu, "entries"). collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "ingredients"). collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "comments"). collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test"). =====result [{"C":"nzkpcwbu"}] =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test"). =====result [{"C":"nzkpcwbu"}] =====query subject_class("Recipe", C), property(C, Property). =====result [{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] =====query subject_class("Recipe", C), property_resolve(C, "type"). =====result false =====query subject_class("Recipe", C), property_resolve(C, "name"). =====result false =====query subject_class("Recipe", C), property_resolve(C, "local"). =====result false =====query subject_class("Recipe", C), property_setter(C, Property, Setter). =====result [{"C":"nzkpcwbu","Property":"name","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://name\", target: \"value\"}]"},{"C":"nzkpcwbu","Property":"local","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://local\", target: \"value\", local: true}]"}] =====query subject_class("Recipe", C), property_resolve_language(C, "name", Language). =====result false =====query subject_class("Recipe", C), property_resolve_language(C, "local", Language). =====result false =====query subject_class("Recipe", C), collection(C, Collection). =====result [{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] =====query subject_class("Recipe", C), collection_adder(C, Collection, Adder). =====result [{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]","C":"nzkpcwbu","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]","C":"nzkpcwbu","Collection":"ingredientss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]","C":"nzkpcwbu","Collection":"commentss"}] =====query subject_class("Recipe", C), collection_remover(C, Collection, Remover). =====result [{"C":"nzkpcwbu","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"nzkpcwbu","Collection":"ingredientss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"nzkpcwbu","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]"}] =====query subject_class("Recipe", C), collection_setter(C, Collection, Setter). =====result [{"C":"nzkpcwbu","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"nzkpcwbu","Collection":"ingredientss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"nzkpcwbu","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]"}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). triple("ad4m://self", "", "literal://string:get%20proxy%20test"). triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). triple("test://message", "ad4m://type", "ad4m://undefined"). triple("test://message", "ad4m://type", "ad4m://message"). triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). triple("literal://string:test%20message", "todo://state", "todo://ready"). triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706790532212, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). languageAddress("literal://string:new%20comment", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:Test", "literal"). languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageAddress("literal://string:test%20message", "literal"). languageAddress("literal://string:Custom%20getter%20test", "literal"). languageAddress("literal://string:Message", "literal"). languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test", "literal"). languageAddress("literal://string:Recipe", "literal"). languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). languageName("literal://string:new%20comment", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:Test", "literal"). languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageName("literal://string:test%20message", "literal"). languageName("literal://string:Custom%20getter%20test", "literal"). languageName("literal://string:Message", "literal"). languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test", "literal"). languageName("literal://string:Recipe", "literal"). languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:Active%20record%20implementation%20test", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). expressionAddress("literal://string:new%20comment", "string:new%20comment"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:Test", "string:Test"). expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). expressionAddress("literal://string:test%20message", "string:test%20message"). expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). expressionAddress("literal://string:Message", "string:Message"). expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). expressionAddress("literal://string:Recipe", "string:Recipe"). expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). subject_class("Test", srksdbln). constructor(srksdbln, '[]'). destructor(srksdbln, '[]'). property(srksdbln, "number"). property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). subject_class("Message", mqvvfluy). constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(mqvvfluy, "type"). property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(mqvvfluy, "body"). property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). subject_class("Recipe", nzkpcwbu). constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). property(nzkpcwbu, "type"). property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(nzkpcwbu, "name"). property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). property(nzkpcwbu, "local"). property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). collection(nzkpcwbu, "entries"). collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "ingredients"). collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "comments"). collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class("Recipe", C), property_setter(C, "name", Setter). =====result [{"C":"nzkpcwbu","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://name\", target: \"value\"}]"}] =====query subject_class("Recipe", C), property_resolve_language(C, "name", Language). =====result false =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). triple("ad4m://self", "", "literal://string:get%20proxy%20test"). triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). triple("test://message", "ad4m://type", "ad4m://undefined"). triple("test://message", "ad4m://type", "ad4m://message"). triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). triple("literal://string:test%20message", "todo://state", "todo://ready"). triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). triple("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706790532212, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test", 1706790532505, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). languageAddress("literal://string:new%20comment", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:Test", "literal"). languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageAddress("literal://string:test%20message", "literal"). languageAddress("literal://string:Custom%20getter%20test", "literal"). languageAddress("literal://string:Message", "literal"). languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test", "literal"). languageAddress("literal://string:Recipe", "literal"). languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). languageName("literal://string:new%20comment", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:Test", "literal"). languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageName("literal://string:test%20message", "literal"). languageName("literal://string:Custom%20getter%20test", "literal"). languageName("literal://string:Message", "literal"). languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test", "literal"). languageName("literal://string:Recipe", "literal"). languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:Active%20record%20implementation%20test", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). expressionAddress("literal://string:new%20comment", "string:new%20comment"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:Test", "string:Test"). expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). expressionAddress("literal://string:test%20message", "string:test%20message"). expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). expressionAddress("literal://string:Message", "string:Message"). expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). expressionAddress("literal://string:Recipe", "string:Recipe"). expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). subject_class("Test", srksdbln). constructor(srksdbln, '[]'). destructor(srksdbln, '[]'). property(srksdbln, "number"). property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). subject_class("Message", mqvvfluy). constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(mqvvfluy, "type"). property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(mqvvfluy, "body"). property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). subject_class("Recipe", nzkpcwbu). constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). property(nzkpcwbu, "type"). property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(nzkpcwbu, "name"). property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). property(nzkpcwbu, "local"). property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). collection(nzkpcwbu, "entries"). collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "ingredients"). collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "comments"). collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). =====query subject_class("Recipe", C), property_setter(C, "entries", Setter). =====result false =====query subject_class("Recipe", C), property_setter(C, "comments", Setter). =====result false =====query subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test"). =====result [{"C":"nzkpcwbu"}] =====query subject_class("Recipe", C), property(C, Property). =====result [{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] =====query subject_class("Recipe", C), property_resolve(C, "type"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "type", Value). =====result [{"C":"nzkpcwbu","Value":"ad4m://recipe"}] =====query subject_class("Recipe", C), property_resolve(C, "name"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "name", Value). =====result [{"C":"nzkpcwbu","Value":"recipe://test"}] =====query subject_class("Recipe", C), property_resolve(C, "local"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "local", Value). =====result false =====query subject_class("Recipe", C), collection(C, Collection). =====result [{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "entries", Value). =====result [{"C":"nzkpcwbu","Value":[""]}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "ingredients", Value). =====result false =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "comments", Value). =====result [{"C":"nzkpcwbu","Value":[""]}] =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test"). =====result [{"C":"nzkpcwbu"}] =====query subject_class("Recipe", C), property(C, Property). =====result [{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] =====query subject_class("Recipe", C), property_resolve(C, "type"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "type", Value). =====result [{"C":"nzkpcwbu","Value":"ad4m://recipe"}] =====query subject_class("Recipe", C), property_resolve(C, "name"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "name", Value). =====result [{"C":"nzkpcwbu","Value":"recipe://test"}] =====query subject_class("Recipe", C), property_resolve(C, "local"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "local", Value). =====result false =====query subject_class("Recipe", C), collection(C, Collection). =====result [{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "entries", Value). =====result [{"C":"nzkpcwbu","Value":[""]}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "ingredients", Value). =====result false =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "comments", Value). =====result [{"C":"nzkpcwbu","Value":[""]}] =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class("Recipe", C), property_setter(C, "name", Setter). =====result [{"C":"nzkpcwbu","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://name\", target: \"value\"}]"}] =====query subject_class("Recipe", C), property_resolve_language(C, "name", Language). =====result false =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). triple("ad4m://self", "", "literal://string:get%20proxy%20test"). triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). triple("test://message", "ad4m://type", "ad4m://undefined"). triple("test://message", "ad4m://type", "ad4m://message"). triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). triple("literal://string:test%20message", "todo://state", "todo://ready"). triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). triple("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706790532212, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706790532891, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). languageAddress("literal://string:new%20comment", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:Test", "literal"). languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageAddress("literal://string:test%20message", "literal"). languageAddress("literal://string:Custom%20getter%20test", "literal"). languageAddress("literal://string:Message", "literal"). languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test", "literal"). languageAddress("literal://string:Recipe", "literal"). languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). languageName("literal://string:new%20comment", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:Test", "literal"). languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageName("literal://string:test%20message", "literal"). languageName("literal://string:Custom%20getter%20test", "literal"). languageName("literal://string:Message", "literal"). languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test", "literal"). languageName("literal://string:Recipe", "literal"). languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:Active%20record%20implementation%20test", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). expressionAddress("literal://string:new%20comment", "string:new%20comment"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:Test", "string:Test"). expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). expressionAddress("literal://string:test%20message", "string:test%20message"). expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). expressionAddress("literal://string:Message", "string:Message"). expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). expressionAddress("literal://string:Recipe", "string:Recipe"). expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). subject_class("Test", srksdbln). constructor(srksdbln, '[]'). destructor(srksdbln, '[]'). property(srksdbln, "number"). property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). subject_class("Message", mqvvfluy). constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(mqvvfluy, "type"). property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(mqvvfluy, "body"). property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). subject_class("Recipe", nzkpcwbu). constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). property(nzkpcwbu, "type"). property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(nzkpcwbu, "name"). property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). property(nzkpcwbu, "local"). property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). collection(nzkpcwbu, "entries"). collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "ingredients"). collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "comments"). collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). =====query subject_class("Recipe", C), property_setter(C, "entries", Setter). =====result false =====query subject_class("Recipe", C), property_setter(C, "comments", Setter). =====result false =====query subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test"). =====result [{"C":"nzkpcwbu"}] =====query subject_class("Recipe", C), property(C, Property). =====result [{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] =====query subject_class("Recipe", C), property_resolve(C, "type"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "type", Value). =====result [{"C":"nzkpcwbu","Value":"ad4m://recipe"}] =====query subject_class("Recipe", C), property_resolve(C, "name"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "name", Value). =====result [{"C":"nzkpcwbu","Value":"recipe://test1"}] =====query subject_class("Recipe", C), property_resolve(C, "local"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "local", Value). =====result false =====query subject_class("Recipe", C), collection(C, Collection). =====result [{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "entries", Value). =====result [{"C":"nzkpcwbu","Value":[""]}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "ingredients", Value). =====result false =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "comments", Value). =====result [{"C":"nzkpcwbu","Value":[""]}] =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test"). =====result [{"C":"nzkpcwbu"}] =====query subject_class("Recipe", C), property(C, Property). =====result [{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] =====query subject_class("Recipe", C), property_resolve(C, "type"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "type", Value). =====result [{"C":"nzkpcwbu","Value":"ad4m://recipe"}] =====query subject_class("Recipe", C), property_resolve(C, "name"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "name", Value). =====result [{"C":"nzkpcwbu","Value":"recipe://test1"}] =====query subject_class("Recipe", C), property_resolve(C, "local"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "local", Value). =====result false =====query subject_class("Recipe", C), collection(C, Collection). =====result [{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "entries", Value). =====result [{"C":"nzkpcwbu","Value":[""]}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "ingredients", Value). =====result false =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "comments", Value). =====result [{"C":"nzkpcwbu","Value":[""]}] =====query subject_class(Class, C), property(C, "className"), property(C, "generateSDNA"). =====result false =====query subject_class("Recipe", C), instance(C, X). =====result [{"C":"nzkpcwbu","X":"literal://string:Active%20record%20implementation%20test"}] =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test"). =====result [{"C":"nzkpcwbu"}] =====query subject_class("Recipe", C), property(C, Property). =====result [{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] =====query subject_class("Recipe", C), property_resolve(C, "type"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "type", Value). =====result [{"C":"nzkpcwbu","Value":"ad4m://recipe"}] =====query subject_class("Recipe", C), property_resolve(C, "name"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "name", Value). =====result [{"C":"nzkpcwbu","Value":"recipe://test1"}] =====query subject_class("Recipe", C), property_resolve(C, "local"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "local", Value). =====result false =====query subject_class("Recipe", C), collection(C, Collection). =====result [{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "entries", Value). =====result [{"C":"nzkpcwbu","Value":[""]}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "ingredients", Value). =====result false =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "comments", Value). =====result [{"C":"nzkpcwbu","Value":[""]}] =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class("Recipe", C), constructor(C, Actions). =====result [{"Actions":"[{action: \"addLink\", source: \"this\", predicate: \"ad4m://type\", target: \"ad4m://recipe\"}]","C":"nzkpcwbu"}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). triple("ad4m://self", "", "literal://string:get%20proxy%20test"). triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). triple("test://message", "ad4m://type", "ad4m://undefined"). triple("test://message", "ad4m://type", "ad4m://message"). triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). triple("literal://string:test%20message", "todo://state", "todo://ready"). triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). triple("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1"). triple("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706790532212, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706790532891, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706790533421, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). languageAddress("literal://string:new%20comment", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:Test", "literal"). languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageAddress("literal://string:test%20message", "literal"). languageAddress("literal://string:Custom%20getter%20test", "literal"). languageAddress("literal://string:Message", "literal"). languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test", "literal"). languageAddress("literal://string:Recipe", "literal"). languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). languageAddress("literal://string:Active%20record%20implementation%20collection%20test", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). languageName("literal://string:new%20comment", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:Test", "literal"). languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageName("literal://string:test%20message", "literal"). languageName("literal://string:Custom%20getter%20test", "literal"). languageName("literal://string:Message", "literal"). languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test", "literal"). languageName("literal://string:Recipe", "literal"). languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:Active%20record%20implementation%20test", "literal"). languageName("literal://string:Active%20record%20implementation%20collection%20test", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). expressionAddress("literal://string:new%20comment", "string:new%20comment"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:Test", "string:Test"). expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). expressionAddress("literal://string:test%20message", "string:test%20message"). expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). expressionAddress("literal://string:Message", "string:Message"). expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). expressionAddress("literal://string:Recipe", "string:Recipe"). expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). expressionAddress("literal://string:Active%20record%20implementation%20collection%20test", "string:Active%20record%20implementation%20collection%20test"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). subject_class("Test", srksdbln). constructor(srksdbln, '[]'). destructor(srksdbln, '[]'). property(srksdbln, "number"). property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). subject_class("Message", mqvvfluy). constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(mqvvfluy, "type"). property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(mqvvfluy, "body"). property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). subject_class("Recipe", nzkpcwbu). constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). property(nzkpcwbu, "type"). property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(nzkpcwbu, "name"). property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). property(nzkpcwbu, "local"). property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). collection(nzkpcwbu, "entries"). collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "ingredients"). collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "comments"). collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20collection%20test"). =====result [{"C":"nzkpcwbu"}] =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20collection%20test"). =====result [{"C":"nzkpcwbu"}] =====query subject_class("Recipe", C), property(C, Property). =====result [{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] =====query subject_class("Recipe", C), property_resolve(C, "type"). =====result false =====query subject_class("Recipe", C), property_resolve(C, "name"). =====result false =====query subject_class("Recipe", C), property_resolve(C, "local"). =====result false =====query subject_class("Recipe", C), property_setter(C, Property, Setter). =====result [{"C":"nzkpcwbu","Property":"name","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://name\", target: \"value\"}]"},{"C":"nzkpcwbu","Property":"local","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://local\", target: \"value\", local: true}]"}] =====query subject_class("Recipe", C), property_resolve_language(C, "name", Language). =====result false =====query subject_class("Recipe", C), property_resolve_language(C, "local", Language). =====result false =====query subject_class("Recipe", C), collection(C, Collection). =====result [{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] =====query subject_class("Recipe", C), collection_adder(C, Collection, Adder). =====result [{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]","C":"nzkpcwbu","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]","C":"nzkpcwbu","Collection":"ingredientss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]","C":"nzkpcwbu","Collection":"commentss"}] =====query subject_class("Recipe", C), collection_remover(C, Collection, Remover). =====result [{"C":"nzkpcwbu","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"nzkpcwbu","Collection":"ingredientss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"nzkpcwbu","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]"}] =====query subject_class("Recipe", C), collection_setter(C, Collection, Setter). =====result [{"C":"nzkpcwbu","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"nzkpcwbu","Collection":"ingredientss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"nzkpcwbu","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]"}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). triple("ad4m://self", "", "literal://string:get%20proxy%20test"). triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). triple("test://message", "ad4m://type", "ad4m://undefined"). triple("test://message", "ad4m://type", "ad4m://message"). triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). triple("literal://string:test%20message", "todo://state", "todo://ready"). triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). triple("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1"). triple("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706790532212, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706790532891, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706790533421, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706790533626, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). languageAddress("literal://string:new%20comment", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:Test", "literal"). languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageAddress("literal://string:test%20message", "literal"). languageAddress("literal://string:Custom%20getter%20test", "literal"). languageAddress("literal://string:Message", "literal"). languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test", "literal"). languageAddress("literal://string:Recipe", "literal"). languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). languageAddress("literal://string:Active%20record%20implementation%20collection%20test", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). languageName("literal://string:new%20comment", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:Test", "literal"). languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageName("literal://string:test%20message", "literal"). languageName("literal://string:Custom%20getter%20test", "literal"). languageName("literal://string:Message", "literal"). languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test", "literal"). languageName("literal://string:Recipe", "literal"). languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:Active%20record%20implementation%20test", "literal"). languageName("literal://string:Active%20record%20implementation%20collection%20test", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). expressionAddress("literal://string:new%20comment", "string:new%20comment"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:Test", "string:Test"). expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). expressionAddress("literal://string:test%20message", "string:test%20message"). expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). expressionAddress("literal://string:Message", "string:Message"). expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). expressionAddress("literal://string:Recipe", "string:Recipe"). expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). expressionAddress("literal://string:Active%20record%20implementation%20collection%20test", "string:Active%20record%20implementation%20collection%20test"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). subject_class("Test", srksdbln). constructor(srksdbln, '[]'). destructor(srksdbln, '[]'). property(srksdbln, "number"). property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). subject_class("Message", mqvvfluy). constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(mqvvfluy, "type"). property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(mqvvfluy, "body"). property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). subject_class("Recipe", nzkpcwbu). constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). property(nzkpcwbu, "type"). property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(nzkpcwbu, "name"). property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). property(nzkpcwbu, "local"). property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). collection(nzkpcwbu, "entries"). collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "ingredients"). collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "comments"). collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class("Recipe", C), property_setter(C, "name", Setter). =====result [{"C":"nzkpcwbu","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://name\", target: \"value\"}]"}] =====query subject_class("Recipe", C), property_resolve_language(C, "name", Language). =====result false =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). triple("ad4m://self", "", "literal://string:get%20proxy%20test"). triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). triple("test://message", "ad4m://type", "ad4m://undefined"). triple("test://message", "ad4m://type", "ad4m://message"). triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). triple("literal://string:test%20message", "todo://state", "todo://ready"). triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). triple("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1"). triple("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706790532212, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706790532891, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706790533421, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706790533626, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706790533710, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). languageAddress("literal://string:new%20comment", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:Test", "literal"). languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageAddress("literal://string:test%20message", "literal"). languageAddress("literal://string:Custom%20getter%20test", "literal"). languageAddress("literal://string:Message", "literal"). languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test", "literal"). languageAddress("literal://string:Recipe", "literal"). languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). languageAddress("literal://string:Active%20record%20implementation%20collection%20test", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). languageName("literal://string:new%20comment", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:Test", "literal"). languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageName("literal://string:test%20message", "literal"). languageName("literal://string:Custom%20getter%20test", "literal"). languageName("literal://string:Message", "literal"). languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test", "literal"). languageName("literal://string:Recipe", "literal"). languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:Active%20record%20implementation%20test", "literal"). languageName("literal://string:Active%20record%20implementation%20collection%20test", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). expressionAddress("literal://string:new%20comment", "string:new%20comment"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:Test", "string:Test"). expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). expressionAddress("literal://string:test%20message", "string:test%20message"). expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). expressionAddress("literal://string:Message", "string:Message"). expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). expressionAddress("literal://string:Recipe", "string:Recipe"). expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). expressionAddress("literal://string:Active%20record%20implementation%20collection%20test", "string:Active%20record%20implementation%20collection%20test"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). subject_class("Test", srksdbln). constructor(srksdbln, '[]'). destructor(srksdbln, '[]'). property(srksdbln, "number"). property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). subject_class("Message", mqvvfluy). constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(mqvvfluy, "type"). property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(mqvvfluy, "body"). property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). subject_class("Recipe", nzkpcwbu). constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). property(nzkpcwbu, "type"). property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(nzkpcwbu, "name"). property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). property(nzkpcwbu, "local"). property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). collection(nzkpcwbu, "entries"). collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "ingredients"). collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "comments"). collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). =====query subject_class("Recipe", C), property_setter(C, "entries", Setter). =====result false =====query subject_class("Recipe", C), collection_setter(C, "commentss", Setter). =====result [{"C":"nzkpcwbu","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]"}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). triple("ad4m://self", "", "literal://string:get%20proxy%20test"). triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). triple("test://message", "ad4m://type", "ad4m://undefined"). triple("test://message", "ad4m://type", "ad4m://message"). triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). triple("literal://string:test%20message", "todo://state", "todo://ready"). triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). triple("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1"). triple("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706790532212, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706790532891, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706790533421, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706790533626, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706790533710, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). languageAddress("literal://string:new%20comment", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:Test", "literal"). languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageAddress("literal://string:test%20message", "literal"). languageAddress("literal://string:Custom%20getter%20test", "literal"). languageAddress("literal://string:Message", "literal"). languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test", "literal"). languageAddress("literal://string:Recipe", "literal"). languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). languageAddress("literal://string:Active%20record%20implementation%20collection%20test", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). languageName("literal://string:new%20comment", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:Test", "literal"). languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageName("literal://string:test%20message", "literal"). languageName("literal://string:Custom%20getter%20test", "literal"). languageName("literal://string:Message", "literal"). languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test", "literal"). languageName("literal://string:Recipe", "literal"). languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:Active%20record%20implementation%20test", "literal"). languageName("literal://string:Active%20record%20implementation%20collection%20test", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). expressionAddress("literal://string:new%20comment", "string:new%20comment"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:Test", "string:Test"). expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). expressionAddress("literal://string:test%20message", "string:test%20message"). expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). expressionAddress("literal://string:Message", "string:Message"). expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). expressionAddress("literal://string:Recipe", "string:Recipe"). expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). expressionAddress("literal://string:Active%20record%20implementation%20collection%20test", "string:Active%20record%20implementation%20collection%20test"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). subject_class("Test", srksdbln). constructor(srksdbln, '[]'). destructor(srksdbln, '[]'). property(srksdbln, "number"). property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). subject_class("Message", mqvvfluy). constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(mqvvfluy, "type"). property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(mqvvfluy, "body"). property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). subject_class("Recipe", nzkpcwbu). constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). property(nzkpcwbu, "type"). property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(nzkpcwbu, "name"). property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). property(nzkpcwbu, "local"). property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). collection(nzkpcwbu, "entries"). collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "ingredients"). collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "comments"). collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). =====query subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20collection%20test"). =====result [{"C":"nzkpcwbu"}] =====query subject_class("Recipe", C), property(C, Property). =====result [{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] =====query subject_class("Recipe", C), property_resolve(C, "type"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "type", Value). =====result [{"C":"nzkpcwbu","Value":"ad4m://recipe"}] =====query subject_class("Recipe", C), property_resolve(C, "name"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "name", Value). =====result [{"C":"nzkpcwbu","Value":"recipe://collection_test"}] =====query subject_class("Recipe", C), property_resolve(C, "local"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "local", Value). =====result false =====query subject_class("Recipe", C), collection(C, Collection). =====result [{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "entries", Value). =====result [{"C":"nzkpcwbu","Value":[""]}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "ingredients", Value). =====result false =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "comments", Value). =====result [{"C":"nzkpcwbu","Value":["recipe://test","recipe://test1"]}] =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20collection%20test"). =====result [{"C":"nzkpcwbu"}] =====query subject_class("Recipe", C), property(C, Property). =====result [{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] =====query subject_class("Recipe", C), property_resolve(C, "type"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "type", Value). =====result [{"C":"nzkpcwbu","Value":"ad4m://recipe"}] =====query subject_class("Recipe", C), property_resolve(C, "name"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "name", Value). =====result [{"C":"nzkpcwbu","Value":"recipe://collection_test"}] =====query subject_class("Recipe", C), property_resolve(C, "local"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "local", Value). =====result false =====query subject_class("Recipe", C), collection(C, Collection). =====result [{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "entries", Value). =====result [{"C":"nzkpcwbu","Value":[""]}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "ingredients", Value). =====result false =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "comments", Value). =====result [{"C":"nzkpcwbu","Value":["recipe://test","recipe://test1"]}] =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class("Recipe", C), constructor(C, Actions). =====result [{"Actions":"[{action: \"addLink\", source: \"this\", predicate: \"ad4m://type\", target: \"ad4m://recipe\"}]","C":"nzkpcwbu"}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). triple("ad4m://self", "", "literal://string:get%20proxy%20test"). triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). triple("test://message", "ad4m://type", "ad4m://undefined"). triple("test://message", "ad4m://type", "ad4m://message"). triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). triple("literal://string:test%20message", "todo://state", "todo://ready"). triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). triple("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1"). triple("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1"). triple("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706790532212, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706790532891, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706790533421, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706790533626, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706790533710, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe", 1706790534160, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). languageAddress("literal://string:new%20comment", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:Test", "literal"). languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageAddress("literal://string:test%20message", "literal"). languageAddress("literal://string:Custom%20getter%20test", "literal"). languageAddress("literal://string:Message", "literal"). languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test", "literal"). languageAddress("literal://string:Recipe", "literal"). languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). languageAddress("literal://string:Active%20record%20implementation%20collection%20test", "literal"). languageAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). languageName("literal://string:new%20comment", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:Test", "literal"). languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageName("literal://string:test%20message", "literal"). languageName("literal://string:Custom%20getter%20test", "literal"). languageName("literal://string:Message", "literal"). languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test", "literal"). languageName("literal://string:Recipe", "literal"). languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:Active%20record%20implementation%20test", "literal"). languageName("literal://string:Active%20record%20implementation%20collection%20test", "literal"). languageName("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). expressionAddress("literal://string:new%20comment", "string:new%20comment"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:Test", "string:Test"). expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). expressionAddress("literal://string:test%20message", "string:test%20message"). expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). expressionAddress("literal://string:Message", "string:Message"). expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). expressionAddress("literal://string:Recipe", "string:Recipe"). expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). expressionAddress("literal://string:Active%20record%20implementation%20collection%20test", "string:Active%20record%20implementation%20collection%20test"). expressionAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "string:Active%20record%20implementation%20test%20local%20link"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). subject_class("Test", srksdbln). constructor(srksdbln, '[]'). destructor(srksdbln, '[]'). property(srksdbln, "number"). property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). subject_class("Message", mqvvfluy). constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(mqvvfluy, "type"). property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(mqvvfluy, "body"). property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). subject_class("Recipe", nzkpcwbu). constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). property(nzkpcwbu, "type"). property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(nzkpcwbu, "name"). property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). property(nzkpcwbu, "local"). property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). collection(nzkpcwbu, "entries"). collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "ingredients"). collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "comments"). collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test%20local%20link"). =====result [{"C":"nzkpcwbu"}] =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test%20local%20link"). =====result [{"C":"nzkpcwbu"}] =====query subject_class("Recipe", C), property(C, Property). =====result [{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] =====query subject_class("Recipe", C), property_resolve(C, "type"). =====result false =====query subject_class("Recipe", C), property_resolve(C, "name"). =====result false =====query subject_class("Recipe", C), property_resolve(C, "local"). =====result false =====query subject_class("Recipe", C), property_setter(C, Property, Setter). =====result [{"C":"nzkpcwbu","Property":"name","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://name\", target: \"value\"}]"},{"C":"nzkpcwbu","Property":"local","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://local\", target: \"value\", local: true}]"}] =====query subject_class("Recipe", C), property_resolve_language(C, "name", Language). =====result false =====query subject_class("Recipe", C), property_resolve_language(C, "local", Language). =====result false =====query subject_class("Recipe", C), collection(C, Collection). =====result [{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] =====query subject_class("Recipe", C), collection_adder(C, Collection, Adder). =====result [{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]","C":"nzkpcwbu","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]","C":"nzkpcwbu","Collection":"ingredientss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]","C":"nzkpcwbu","Collection":"commentss"}] =====query subject_class("Recipe", C), collection_remover(C, Collection, Remover). =====result [{"C":"nzkpcwbu","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"nzkpcwbu","Collection":"ingredientss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"nzkpcwbu","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]"}] =====query subject_class("Recipe", C), collection_setter(C, Collection, Setter). =====result [{"C":"nzkpcwbu","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"nzkpcwbu","Collection":"ingredientss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"nzkpcwbu","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]"}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). triple("ad4m://self", "", "literal://string:get%20proxy%20test"). triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). triple("test://message", "ad4m://type", "ad4m://undefined"). triple("test://message", "ad4m://type", "ad4m://message"). triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). triple("literal://string:test%20message", "todo://state", "todo://ready"). triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). triple("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1"). triple("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1"). triple("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706790532212, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706790532891, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706790533421, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706790533626, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706790533710, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe", 1706790534160, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link", 1706790534369, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). languageAddress("literal://string:new%20comment", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:Test", "literal"). languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageAddress("literal://string:test%20message", "literal"). languageAddress("literal://string:Custom%20getter%20test", "literal"). languageAddress("literal://string:Message", "literal"). languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test", "literal"). languageAddress("literal://string:Recipe", "literal"). languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). languageAddress("literal://string:Active%20record%20implementation%20collection%20test", "literal"). languageAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). languageName("literal://string:new%20comment", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:Test", "literal"). languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageName("literal://string:test%20message", "literal"). languageName("literal://string:Custom%20getter%20test", "literal"). languageName("literal://string:Message", "literal"). languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test", "literal"). languageName("literal://string:Recipe", "literal"). languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:Active%20record%20implementation%20test", "literal"). languageName("literal://string:Active%20record%20implementation%20collection%20test", "literal"). languageName("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). expressionAddress("literal://string:new%20comment", "string:new%20comment"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:Test", "string:Test"). expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). expressionAddress("literal://string:test%20message", "string:test%20message"). expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). expressionAddress("literal://string:Message", "string:Message"). expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). expressionAddress("literal://string:Recipe", "string:Recipe"). expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). expressionAddress("literal://string:Active%20record%20implementation%20collection%20test", "string:Active%20record%20implementation%20collection%20test"). expressionAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "string:Active%20record%20implementation%20test%20local%20link"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). subject_class("Test", srksdbln). constructor(srksdbln, '[]'). destructor(srksdbln, '[]'). property(srksdbln, "number"). property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). subject_class("Message", mqvvfluy). constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(mqvvfluy, "type"). property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(mqvvfluy, "body"). property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). subject_class("Recipe", nzkpcwbu). constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). property(nzkpcwbu, "type"). property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(nzkpcwbu, "name"). property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). property(nzkpcwbu, "local"). property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). collection(nzkpcwbu, "entries"). collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "ingredients"). collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "comments"). collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class("Recipe", C), property_setter(C, "name", Setter). =====result [{"C":"nzkpcwbu","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://name\", target: \"value\"}]"}] =====query subject_class("Recipe", C), property_resolve_language(C, "name", Language). =====result false =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). triple("ad4m://self", "", "literal://string:get%20proxy%20test"). triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). triple("test://message", "ad4m://type", "ad4m://undefined"). triple("test://message", "ad4m://type", "ad4m://message"). triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). triple("literal://string:test%20message", "todo://state", "todo://ready"). triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). triple("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1"). triple("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1"). triple("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link"). triple("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706790532212, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706790532891, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706790533421, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706790533626, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706790533710, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe", 1706790534160, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link", 1706790534369, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink", 1706790534459, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). languageAddress("literal://string:new%20comment", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:Test", "literal"). languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageAddress("literal://string:test%20message", "literal"). languageAddress("literal://string:Custom%20getter%20test", "literal"). languageAddress("literal://string:Message", "literal"). languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test", "literal"). languageAddress("literal://string:Recipe", "literal"). languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). languageAddress("literal://string:Active%20record%20implementation%20collection%20test", "literal"). languageAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). languageName("literal://string:new%20comment", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:Test", "literal"). languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageName("literal://string:test%20message", "literal"). languageName("literal://string:Custom%20getter%20test", "literal"). languageName("literal://string:Message", "literal"). languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test", "literal"). languageName("literal://string:Recipe", "literal"). languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:Active%20record%20implementation%20test", "literal"). languageName("literal://string:Active%20record%20implementation%20collection%20test", "literal"). languageName("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). expressionAddress("literal://string:new%20comment", "string:new%20comment"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:Test", "string:Test"). expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). expressionAddress("literal://string:test%20message", "string:test%20message"). expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). expressionAddress("literal://string:Message", "string:Message"). expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). expressionAddress("literal://string:Recipe", "string:Recipe"). expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). expressionAddress("literal://string:Active%20record%20implementation%20collection%20test", "string:Active%20record%20implementation%20collection%20test"). expressionAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "string:Active%20record%20implementation%20test%20local%20link"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). subject_class("Test", srksdbln). constructor(srksdbln, '[]'). destructor(srksdbln, '[]'). property(srksdbln, "number"). property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). subject_class("Message", mqvvfluy). constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(mqvvfluy, "type"). property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(mqvvfluy, "body"). property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). subject_class("Recipe", nzkpcwbu). constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). property(nzkpcwbu, "type"). property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(nzkpcwbu, "name"). property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). property(nzkpcwbu, "local"). property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). collection(nzkpcwbu, "entries"). collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "ingredients"). collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "comments"). collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). =====query subject_class("Recipe", C), property_setter(C, "entries", Setter). =====result false =====query subject_class("Recipe", C), property_setter(C, "comments", Setter). =====result false =====query subject_class("Recipe", C), property_setter(C, "local", Setter). =====result [{"C":"nzkpcwbu","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://local\", target: \"value\", local: true}]"}] =====query subject_class("Recipe", C), property_resolve_language(C, "local", Language). =====result false =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). triple("ad4m://self", "", "literal://string:get%20proxy%20test"). triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). triple("test://message", "ad4m://type", "ad4m://undefined"). triple("test://message", "ad4m://type", "ad4m://message"). triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). triple("literal://string:test%20message", "todo://state", "todo://ready"). triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). triple("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1"). triple("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1"). triple("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link"). triple("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink"). triple("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706790532212, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706790532891, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706790533421, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706790533626, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706790533710, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe", 1706790534160, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link", 1706790534369, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink", 1706790534459, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test", 1706790534565, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). languageAddress("literal://string:new%20comment", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:Test", "literal"). languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageAddress("literal://string:test%20message", "literal"). languageAddress("literal://string:Custom%20getter%20test", "literal"). languageAddress("literal://string:Message", "literal"). languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test", "literal"). languageAddress("literal://string:Recipe", "literal"). languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). languageAddress("literal://string:Active%20record%20implementation%20collection%20test", "literal"). languageAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). languageName("literal://string:new%20comment", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:Test", "literal"). languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageName("literal://string:test%20message", "literal"). languageName("literal://string:Custom%20getter%20test", "literal"). languageName("literal://string:Message", "literal"). languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test", "literal"). languageName("literal://string:Recipe", "literal"). languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:Active%20record%20implementation%20test", "literal"). languageName("literal://string:Active%20record%20implementation%20collection%20test", "literal"). languageName("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). expressionAddress("literal://string:new%20comment", "string:new%20comment"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:Test", "string:Test"). expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). expressionAddress("literal://string:test%20message", "string:test%20message"). expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). expressionAddress("literal://string:Message", "string:Message"). expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). expressionAddress("literal://string:Recipe", "string:Recipe"). expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). expressionAddress("literal://string:Active%20record%20implementation%20collection%20test", "string:Active%20record%20implementation%20collection%20test"). expressionAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "string:Active%20record%20implementation%20test%20local%20link"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). subject_class("Test", srksdbln). constructor(srksdbln, '[]'). destructor(srksdbln, '[]'). property(srksdbln, "number"). property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). subject_class("Message", mqvvfluy). constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(mqvvfluy, "type"). property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(mqvvfluy, "body"). property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). subject_class("Recipe", nzkpcwbu). constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). property(nzkpcwbu, "type"). property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(nzkpcwbu, "name"). property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). property(nzkpcwbu, "local"). property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). collection(nzkpcwbu, "entries"). collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "ingredients"). collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "comments"). collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). =====query subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test%20local%20link"). =====result [{"C":"nzkpcwbu"}] =====query subject_class("Recipe", C), property(C, Property). =====result [{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] =====query subject_class("Recipe", C), property_resolve(C, "type"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "type", Value). =====result [{"C":"nzkpcwbu","Value":"ad4m://recipe"}] =====query subject_class("Recipe", C), property_resolve(C, "name"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "name", Value). =====result [{"C":"nzkpcwbu","Value":"recipe://locallink"}] =====query subject_class("Recipe", C), property_resolve(C, "local"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "local", Value). =====result [{"C":"nzkpcwbu","Value":"recipe://test"}] =====query subject_class("Recipe", C), collection(C, Collection). =====result [{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "entries", Value). =====result [{"C":"nzkpcwbu","Value":[""]}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "ingredients", Value). =====result false =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "comments", Value). =====result [{"C":"nzkpcwbu","Value":[""]}] =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test%20local%20link"). =====result [{"C":"nzkpcwbu"}] =====query subject_class("Recipe", C), property(C, Property). =====result [{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] =====query subject_class("Recipe", C), property_resolve(C, "type"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "type", Value). =====result [{"C":"nzkpcwbu","Value":"ad4m://recipe"}] =====query subject_class("Recipe", C), property_resolve(C, "name"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "name", Value). =====result [{"C":"nzkpcwbu","Value":"recipe://locallink"}] =====query subject_class("Recipe", C), property_resolve(C, "local"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "local", Value). =====result [{"C":"nzkpcwbu","Value":"recipe://test"}] =====query subject_class("Recipe", C), collection(C, Collection). =====result [{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "entries", Value). =====result [{"C":"nzkpcwbu","Value":[""]}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "ingredients", Value). =====result false =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "comments", Value). =====result [{"C":"nzkpcwbu","Value":[""]}] =====query subject_class(Class, C), property(C, "className"), property(C, "generateSDNA"). =====result false =====query findall([Timestamp, Base], (subject_class("Recipe", C), instance(C, Base), link("ad4m://self", Predicate, Base, Timestamp, Author)), AllData), sort(AllData, SortedData), length(SortedData, DataLength). =====result [{"AllData":[[1706790532420,"literal://string:Active%20record%20implementation%20test"],[1706790533626,"literal://string:Active%20record%20implementation%20collection%20test"],[1706790534369,"literal://string:Active%20record%20implementation%20test%20local%20link"]],"DataLength":3,"SortedData":[[1706790532420,"literal://string:Active%20record%20implementation%20test"],[1706790533626,"literal://string:Active%20record%20implementation%20collection%20test"],[1706790534369,"literal://string:Active%20record%20implementation%20test%20local%20link"]]}] =====query findall([Timestamp, Base], (subject_class("Recipe", C), instance(C, Base), link("ad4m://self", Predicate, Base, Timestamp, Author)), AllData), sort(AllData, SortedData), reverse(SortedData, ReverseSortedData), paginate(ReverseSortedData, 1, 2, PageData). =====result [{"AllData":[[1706790532420,"literal://string:Active%20record%20implementation%20test"],[1706790533626,"literal://string:Active%20record%20implementation%20collection%20test"],[1706790534369,"literal://string:Active%20record%20implementation%20test%20local%20link"]],"PageData":[[1706790534369,"literal://string:Active%20record%20implementation%20test%20local%20link"],[1706790533626,"literal://string:Active%20record%20implementation%20collection%20test"]],"ReverseSortedData":[[1706790534369,"literal://string:Active%20record%20implementation%20test%20local%20link"],[1706790533626,"literal://string:Active%20record%20implementation%20collection%20test"],[1706790532420,"literal://string:Active%20record%20implementation%20test"]],"SortedData":[[1706790532420,"literal://string:Active%20record%20implementation%20test"],[1706790533626,"literal://string:Active%20record%20implementation%20collection%20test"],[1706790534369,"literal://string:Active%20record%20implementation%20test%20local%20link"]]}] =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test%20local%20link"). =====query subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20collection%20test"). =====result [{"C":"nzkpcwbu"}] =====result [{"C":"nzkpcwbu"}] =====query subject_class("Recipe", C), property(C, Property). =====result [{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] =====query subject_class("Recipe", C), property_resolve(C, "type"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "type", Value). =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "type", Value). =====result [{"C":"nzkpcwbu","Value":"ad4m://recipe"}] =====result [{"C":"nzkpcwbu","Value":"ad4m://recipe"}] =====query subject_class("Recipe", C), property_resolve(C, "name"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "name", Value). =====result [{"C":"nzkpcwbu","Value":"recipe://locallink"}] =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "name", Value). =====result [{"C":"nzkpcwbu","Value":"recipe://collection_test"}] =====query subject_class("Recipe", C), property_resolve(C, "local"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "local", Value). =====result [{"C":"nzkpcwbu","Value":"recipe://test"}] =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "local", Value). =====result false =====query subject_class("Recipe", C), collection(C, Collection). =====result [{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "entries", Value). =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "entries", Value). =====result [{"C":"nzkpcwbu","Value":[""]}] =====result [{"C":"nzkpcwbu","Value":[""]}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "ingredients", Value). =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "ingredients", Value). =====result false =====result false =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "comments", Value). =====result [{"C":"nzkpcwbu","Value":["recipe://test","recipe://test1"]}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "comments", Value). =====result [{"C":"nzkpcwbu","Value":[""]}] =====query subject_class(Class, C), property(C, "className"), property(C, "generateSDNA"). =====result false =====query findall([Timestamp, Base], (subject_class("Recipe", C), instance(C, Base), link("ad4m://self", Predicate, Base, Timestamp, Author)), AllData), sort(AllData, SortedData), length(SortedData, DataLength). =====result [{"AllData":[[1706790532420,"literal://string:Active%20record%20implementation%20test"],[1706790533626,"literal://string:Active%20record%20implementation%20collection%20test"],[1706790534369,"literal://string:Active%20record%20implementation%20test%20local%20link"]],"DataLength":3,"SortedData":[[1706790532420,"literal://string:Active%20record%20implementation%20test"],[1706790533626,"literal://string:Active%20record%20implementation%20collection%20test"],[1706790534369,"literal://string:Active%20record%20implementation%20test%20local%20link"]]}] =====query findall([Timestamp, Base], (subject_class("Recipe", C), instance(C, Base), link("ad4m://self", Predicate, Base, Timestamp, Author)), AllData), sort(AllData, SortedData), reverse(SortedData, ReverseSortedData), paginate(ReverseSortedData, 2, 1, PageData). =====result [{"AllData":[[1706790532420,"literal://string:Active%20record%20implementation%20test"],[1706790533626,"literal://string:Active%20record%20implementation%20collection%20test"],[1706790534369,"literal://string:Active%20record%20implementation%20test%20local%20link"]],"PageData":[[1706790533626,"literal://string:Active%20record%20implementation%20collection%20test"]],"ReverseSortedData":[[1706790534369,"literal://string:Active%20record%20implementation%20test%20local%20link"],[1706790533626,"literal://string:Active%20record%20implementation%20collection%20test"],[1706790532420,"literal://string:Active%20record%20implementation%20test"]],"SortedData":[[1706790532420,"literal://string:Active%20record%20implementation%20test"],[1706790533626,"literal://string:Active%20record%20implementation%20collection%20test"],[1706790534369,"literal://string:Active%20record%20implementation%20test%20local%20link"]]}] =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20collection%20test"). =====result [{"C":"nzkpcwbu"}] =====query subject_class("Recipe", C), property(C, Property). =====result [{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] =====query subject_class("Recipe", C), property_resolve(C, "type"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "type", Value). =====result [{"C":"nzkpcwbu","Value":"ad4m://recipe"}] =====query subject_class("Recipe", C), property_resolve(C, "name"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "name", Value). =====result [{"C":"nzkpcwbu","Value":"recipe://collection_test"}] =====query subject_class("Recipe", C), property_resolve(C, "local"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "local", Value). =====result false =====query subject_class("Recipe", C), collection(C, Collection). =====result [{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "entries", Value). =====result [{"C":"nzkpcwbu","Value":[""]}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "ingredients", Value). =====result false =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "comments", Value). =====result [{"C":"nzkpcwbu","Value":["recipe://test","recipe://test1"]}] =====query subject_class(Class, C), property(C, "className"), property(C, "generateSDNA"). =====result false =====query subject_class("Recipe", C), instance(C, X). =====result [{"C":"nzkpcwbu","X":"literal://string:Active%20record%20implementation%20test"},{"C":"nzkpcwbu","X":"literal://string:Active%20record%20implementation%20collection%20test"},{"C":"nzkpcwbu","X":"literal://string:Active%20record%20implementation%20test%20local%20link"}] =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test"). =====result [{"C":"nzkpcwbu"}] =====query subject_class("Recipe", C), property(C, Property). =====result [{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] =====query subject_class("Recipe", C), property_resolve(C, "type"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "type", Value). =====result [{"C":"nzkpcwbu","Value":"ad4m://recipe"}] =====query subject_class("Recipe", C), property_resolve(C, "name"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "name", Value). =====result [{"C":"nzkpcwbu","Value":"recipe://test1"}] =====query subject_class("Recipe", C), property_resolve(C, "local"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "local", Value). =====result false =====query subject_class("Recipe", C), collection(C, Collection). =====result [{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "entries", Value). =====result [{"C":"nzkpcwbu","Value":[""]}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "ingredients", Value). =====result false =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "comments", Value). =====result [{"C":"nzkpcwbu","Value":[""]}] =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20collection%20test"). =====result [{"C":"nzkpcwbu"}] =====query subject_class("Recipe", C), property(C, Property). =====result [{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] =====query subject_class("Recipe", C), property_resolve(C, "type"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "type", Value). =====result [{"C":"nzkpcwbu","Value":"ad4m://recipe"}] =====query subject_class("Recipe", C), property_resolve(C, "name"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "name", Value). =====result [{"C":"nzkpcwbu","Value":"recipe://collection_test"}] =====query subject_class("Recipe", C), property_resolve(C, "local"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "local", Value). =====result false =====query subject_class("Recipe", C), collection(C, Collection). =====result [{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "entries", Value). =====result [{"C":"nzkpcwbu","Value":[""]}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "ingredients", Value). =====result false =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "comments", Value). =====result [{"C":"nzkpcwbu","Value":["recipe://test","recipe://test1"]}] =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test%20local%20link"). =====result [{"C":"nzkpcwbu"}] =====query subject_class("Recipe", C), property(C, Property). =====result [{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] =====query subject_class("Recipe", C), property_resolve(C, "type"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "type", Value). =====result [{"C":"nzkpcwbu","Value":"ad4m://recipe"}] =====query subject_class("Recipe", C), property_resolve(C, "name"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "name", Value). =====result [{"C":"nzkpcwbu","Value":"recipe://locallink"}] =====query subject_class("Recipe", C), property_resolve(C, "local"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "local", Value). =====result [{"C":"nzkpcwbu","Value":"recipe://test"}] =====query subject_class("Recipe", C), collection(C, Collection). =====result [{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "entries", Value). =====result [{"C":"nzkpcwbu","Value":[""]}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "ingredients", Value). =====result false =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "comments", Value). =====result [{"C":"nzkpcwbu","Value":[""]}] =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class("Recipe", C), destructor(C, Actions). =====result [{"Actions":"[{action: \"removeLink\", source: \"this\", predicate: \"ad4m://type\", target: \"ad4m://recipe\"}]","C":"nzkpcwbu"}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). triple("ad4m://self", "", "literal://string:get%20proxy%20test"). triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). triple("test://message", "ad4m://type", "ad4m://undefined"). triple("test://message", "ad4m://type", "ad4m://message"). triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). triple("literal://string:test%20message", "todo://state", "todo://ready"). triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). triple("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1"). triple("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1"). triple("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link"). triple("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink"). triple("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706790532891, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706790533421, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706790533626, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706790533710, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe", 1706790534160, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link", 1706790534369, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink", 1706790534459, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test", 1706790534565, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). languageAddress("literal://string:new%20comment", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:Test", "literal"). languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageAddress("literal://string:test%20message", "literal"). languageAddress("literal://string:Custom%20getter%20test", "literal"). languageAddress("literal://string:Message", "literal"). languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test", "literal"). languageAddress("literal://string:Recipe", "literal"). languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). languageAddress("literal://string:Active%20record%20implementation%20collection%20test", "literal"). languageAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). languageName("literal://string:new%20comment", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:Test", "literal"). languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageName("literal://string:test%20message", "literal"). languageName("literal://string:Custom%20getter%20test", "literal"). languageName("literal://string:Message", "literal"). languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test", "literal"). languageName("literal://string:Recipe", "literal"). languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:Active%20record%20implementation%20test", "literal"). languageName("literal://string:Active%20record%20implementation%20collection%20test", "literal"). languageName("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). expressionAddress("literal://string:new%20comment", "string:new%20comment"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:Test", "string:Test"). expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). expressionAddress("literal://string:test%20message", "string:test%20message"). expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). expressionAddress("literal://string:Message", "string:Message"). expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). expressionAddress("literal://string:Recipe", "string:Recipe"). expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). expressionAddress("literal://string:Active%20record%20implementation%20collection%20test", "string:Active%20record%20implementation%20collection%20test"). expressionAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "string:Active%20record%20implementation%20test%20local%20link"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). subject_class("Test", srksdbln). constructor(srksdbln, '[]'). destructor(srksdbln, '[]'). property(srksdbln, "number"). property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). subject_class("Message", mqvvfluy). constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(mqvvfluy, "type"). property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(mqvvfluy, "body"). property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). subject_class("Recipe", nzkpcwbu). constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). property(nzkpcwbu, "type"). property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(nzkpcwbu, "name"). property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). property(nzkpcwbu, "local"). property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). collection(nzkpcwbu, "entries"). collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "ingredients"). collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "comments"). collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). =====query subject_class(Class, C), property(C, "className"), property(C, "generateSDNA"). =====result false =====query subject_class("Recipe", C), instance(C, X). =====result [{"C":"nzkpcwbu","X":"literal://string:Active%20record%20implementation%20collection%20test"},{"C":"nzkpcwbu","X":"literal://string:Active%20record%20implementation%20test%20local%20link"}] =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20collection%20test"). =====result [{"C":"nzkpcwbu"}] =====query subject_class("Recipe", C), property(C, Property). =====result [{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] =====query subject_class("Recipe", C), property_resolve(C, "type"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "type", Value). =====result [{"C":"nzkpcwbu","Value":"ad4m://recipe"}] =====query subject_class("Recipe", C), property_resolve(C, "name"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "name", Value). =====result [{"C":"nzkpcwbu","Value":"recipe://collection_test"}] =====query subject_class("Recipe", C), property_resolve(C, "local"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "local", Value). =====result false =====query subject_class("Recipe", C), collection(C, Collection). =====result [{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "entries", Value). =====result [{"C":"nzkpcwbu","Value":[""]}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "ingredients", Value). =====result false =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "comments", Value). =====result [{"C":"nzkpcwbu","Value":["recipe://test","recipe://test1"]}] =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test%20local%20link"). =====result [{"C":"nzkpcwbu"}] =====query subject_class("Recipe", C), property(C, Property). =====result [{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] =====query subject_class("Recipe", C), property_resolve(C, "type"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "type", Value). =====result [{"C":"nzkpcwbu","Value":"ad4m://recipe"}] =====query subject_class("Recipe", C), property_resolve(C, "name"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "name", Value). =====result [{"C":"nzkpcwbu","Value":"recipe://locallink"}] =====query subject_class("Recipe", C), property_resolve(C, "local"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "local", Value). =====result [{"C":"nzkpcwbu","Value":"recipe://test"}] =====query subject_class("Recipe", C), collection(C, Collection). =====result [{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "entries", Value). =====result [{"C":"nzkpcwbu","Value":[""]}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "ingredients", Value). =====result false =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "comments", Value). =====result [{"C":"nzkpcwbu","Value":[""]}] =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class("Recipe", C), constructor(C, Actions). =====result [{"Actions":"[{action: \"addLink\", source: \"this\", predicate: \"ad4m://type\", target: \"ad4m://recipe\"}]","C":"nzkpcwbu"}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). triple("ad4m://self", "", "literal://string:get%20proxy%20test"). triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). triple("test://message", "ad4m://type", "ad4m://undefined"). triple("test://message", "ad4m://type", "ad4m://message"). triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). triple("literal://string:test%20message", "todo://state", "todo://ready"). triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). triple("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1"). triple("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1"). triple("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link"). triple("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink"). triple("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test"). triple("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ad4m://type", "ad4m://recipe"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706790532891, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706790533421, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706790533626, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706790533710, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe", 1706790534160, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link", 1706790534369, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink", 1706790534459, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test", 1706790534565, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ad4m://type", "ad4m://recipe", 1706790536140, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). languageAddress("literal://string:new%20comment", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:Test", "literal"). languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageAddress("literal://string:test%20message", "literal"). languageAddress("literal://string:Custom%20getter%20test", "literal"). languageAddress("literal://string:Message", "literal"). languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test", "literal"). languageAddress("literal://string:Recipe", "literal"). languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). languageAddress("literal://string:Active%20record%20implementation%20collection%20test", "literal"). languageAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). languageAddress("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). languageName("literal://string:new%20comment", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:Test", "literal"). languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageName("literal://string:test%20message", "literal"). languageName("literal://string:Custom%20getter%20test", "literal"). languageName("literal://string:Message", "literal"). languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test", "literal"). languageName("literal://string:Recipe", "literal"). languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:Active%20record%20implementation%20test", "literal"). languageName("literal://string:Active%20record%20implementation%20collection%20test", "literal"). languageName("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). languageName("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). expressionAddress("literal://string:new%20comment", "string:new%20comment"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:Test", "string:Test"). expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). expressionAddress("literal://string:test%20message", "string:test%20message"). expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). expressionAddress("literal://string:Message", "string:Message"). expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). expressionAddress("literal://string:Recipe", "string:Recipe"). expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). expressionAddress("literal://string:Active%20record%20implementation%20collection%20test", "string:Active%20record%20implementation%20collection%20test"). expressionAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "string:Active%20record%20implementation%20test%20local%20link"). expressionAddress("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "string:Active%20record%20implementation%20collection%20test%20with%20where"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). subject_class("Test", srksdbln). constructor(srksdbln, '[]'). destructor(srksdbln, '[]'). property(srksdbln, "number"). property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). subject_class("Message", mqvvfluy). constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(mqvvfluy, "type"). property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(mqvvfluy, "body"). property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). subject_class("Recipe", nzkpcwbu). constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). property(nzkpcwbu, "type"). property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(nzkpcwbu, "name"). property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). property(nzkpcwbu, "local"). property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). collection(nzkpcwbu, "entries"). collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "ingredients"). collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "comments"). collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where"). =====result [{"C":"nzkpcwbu"}] =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where"). =====result [{"C":"nzkpcwbu"}] =====query subject_class("Recipe", C), property(C, Property). =====result [{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] =====query subject_class("Recipe", C), property_resolve(C, "type"). =====result false =====query subject_class("Recipe", C), property_resolve(C, "name"). =====result false =====query subject_class("Recipe", C), property_resolve(C, "local"). =====result false =====query subject_class("Recipe", C), property_setter(C, Property, Setter). =====result [{"C":"nzkpcwbu","Property":"name","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://name\", target: \"value\"}]"},{"C":"nzkpcwbu","Property":"local","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://local\", target: \"value\", local: true}]"}] =====query subject_class("Recipe", C), property_resolve_language(C, "name", Language). =====result false =====query subject_class("Recipe", C), property_resolve_language(C, "local", Language). =====result false =====query subject_class("Recipe", C), collection(C, Collection). =====result [{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] =====query subject_class("Recipe", C), collection_adder(C, Collection, Adder). =====result [{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]","C":"nzkpcwbu","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]","C":"nzkpcwbu","Collection":"ingredientss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]","C":"nzkpcwbu","Collection":"commentss"}] =====query subject_class("Recipe", C), collection_remover(C, Collection, Remover). =====result [{"C":"nzkpcwbu","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"nzkpcwbu","Collection":"ingredientss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"nzkpcwbu","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]"}] =====query subject_class("Recipe", C), collection_setter(C, Collection, Setter). =====result [{"C":"nzkpcwbu","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"nzkpcwbu","Collection":"ingredientss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"nzkpcwbu","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]"}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). triple("ad4m://self", "", "literal://string:get%20proxy%20test"). triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). triple("test://message", "ad4m://type", "ad4m://undefined"). triple("test://message", "ad4m://type", "ad4m://message"). triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). triple("literal://string:test%20message", "todo://state", "todo://ready"). triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). triple("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1"). triple("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1"). triple("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link"). triple("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink"). triple("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test"). triple("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test%20with%20where"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706790532891, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706790533421, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706790533626, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706790533710, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe", 1706790534160, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link", 1706790534369, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink", 1706790534459, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test", 1706790534565, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ad4m://type", "ad4m://recipe", 1706790536140, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", 1706790536360, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). languageAddress("literal://string:new%20comment", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:Test", "literal"). languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageAddress("literal://string:test%20message", "literal"). languageAddress("literal://string:Custom%20getter%20test", "literal"). languageAddress("literal://string:Message", "literal"). languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test", "literal"). languageAddress("literal://string:Recipe", "literal"). languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). languageAddress("literal://string:Active%20record%20implementation%20collection%20test", "literal"). languageAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). languageAddress("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). languageName("literal://string:new%20comment", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:Test", "literal"). languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageName("literal://string:test%20message", "literal"). languageName("literal://string:Custom%20getter%20test", "literal"). languageName("literal://string:Message", "literal"). languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test", "literal"). languageName("literal://string:Recipe", "literal"). languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:Active%20record%20implementation%20test", "literal"). languageName("literal://string:Active%20record%20implementation%20collection%20test", "literal"). languageName("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). languageName("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). expressionAddress("literal://string:new%20comment", "string:new%20comment"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:Test", "string:Test"). expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). expressionAddress("literal://string:test%20message", "string:test%20message"). expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). expressionAddress("literal://string:Message", "string:Message"). expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). expressionAddress("literal://string:Recipe", "string:Recipe"). expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). expressionAddress("literal://string:Active%20record%20implementation%20collection%20test", "string:Active%20record%20implementation%20collection%20test"). expressionAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "string:Active%20record%20implementation%20test%20local%20link"). expressionAddress("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "string:Active%20record%20implementation%20collection%20test%20with%20where"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). subject_class("Test", srksdbln). constructor(srksdbln, '[]'). destructor(srksdbln, '[]'). property(srksdbln, "number"). property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). subject_class("Message", mqvvfluy). constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(mqvvfluy, "type"). property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(mqvvfluy, "body"). property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). subject_class("Recipe", nzkpcwbu). constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). property(nzkpcwbu, "type"). property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(nzkpcwbu, "name"). property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). property(nzkpcwbu, "local"). property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). collection(nzkpcwbu, "entries"). collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "ingredients"). collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "comments"). collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class("Recipe", C), property_setter(C, "name", Setter). =====result [{"C":"nzkpcwbu","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://name\", target: \"value\"}]"}] =====query subject_class("Recipe", C), property_resolve_language(C, "name", Language). =====result false =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). triple("ad4m://self", "", "literal://string:get%20proxy%20test"). triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). triple("test://message", "ad4m://type", "ad4m://undefined"). triple("test://message", "ad4m://type", "ad4m://message"). triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). triple("literal://string:test%20message", "todo://state", "todo://ready"). triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). triple("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1"). triple("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1"). triple("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link"). triple("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink"). triple("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test"). triple("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test%20with%20where"). triple("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://name", "recipe://collection_test"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706790532891, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706790533421, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706790533626, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706790533710, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe", 1706790534160, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link", 1706790534369, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink", 1706790534459, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test", 1706790534565, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ad4m://type", "ad4m://recipe", 1706790536140, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", 1706790536360, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://name", "recipe://collection_test", 1706790536453, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). languageAddress("literal://string:new%20comment", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:Test", "literal"). languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageAddress("literal://string:test%20message", "literal"). languageAddress("literal://string:Custom%20getter%20test", "literal"). languageAddress("literal://string:Message", "literal"). languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test", "literal"). languageAddress("literal://string:Recipe", "literal"). languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). languageAddress("literal://string:Active%20record%20implementation%20collection%20test", "literal"). languageAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). languageAddress("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). languageName("literal://string:new%20comment", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:Test", "literal"). languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageName("literal://string:test%20message", "literal"). languageName("literal://string:Custom%20getter%20test", "literal"). languageName("literal://string:Message", "literal"). languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test", "literal"). languageName("literal://string:Recipe", "literal"). languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:Active%20record%20implementation%20test", "literal"). languageName("literal://string:Active%20record%20implementation%20collection%20test", "literal"). languageName("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). languageName("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). expressionAddress("literal://string:new%20comment", "string:new%20comment"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:Test", "string:Test"). expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). expressionAddress("literal://string:test%20message", "string:test%20message"). expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). expressionAddress("literal://string:Message", "string:Message"). expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). expressionAddress("literal://string:Recipe", "string:Recipe"). expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). expressionAddress("literal://string:Active%20record%20implementation%20collection%20test", "string:Active%20record%20implementation%20collection%20test"). expressionAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "string:Active%20record%20implementation%20test%20local%20link"). expressionAddress("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "string:Active%20record%20implementation%20collection%20test%20with%20where"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). subject_class("Test", srksdbln). constructor(srksdbln, '[]'). destructor(srksdbln, '[]'). property(srksdbln, "number"). property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). subject_class("Message", mqvvfluy). constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(mqvvfluy, "type"). property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(mqvvfluy, "body"). property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). subject_class("Recipe", nzkpcwbu). constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). property(nzkpcwbu, "type"). property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(nzkpcwbu, "name"). property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). property(nzkpcwbu, "local"). property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). collection(nzkpcwbu, "entries"). collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "ingredients"). collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "comments"). collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). =====query subject_class("Recipe", C), collection_setter(C, "entriess", Setter). =====result [{"C":"nzkpcwbu","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). triple("ad4m://self", "", "literal://string:get%20proxy%20test"). triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). triple("test://message", "ad4m://type", "ad4m://undefined"). triple("test://message", "ad4m://type", "ad4m://message"). triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). triple("literal://string:test%20message", "todo://state", "todo://ready"). triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). triple("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1"). triple("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1"). triple("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link"). triple("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink"). triple("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test"). triple("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test%20with%20where"). triple("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://name", "recipe://collection_test"). triple("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://entries", "literal://string:test%20recipes"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706790532891, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706790533421, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706790533626, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706790533710, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe", 1706790534160, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link", 1706790534369, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink", 1706790534459, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test", 1706790534565, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ad4m://type", "ad4m://recipe", 1706790536140, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", 1706790536360, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://name", "recipe://collection_test", 1706790536453, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://entries", "literal://string:test%20recipes", 1706790536538, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). languageAddress("literal://string:new%20comment", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:Test", "literal"). languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageAddress("literal://string:test%20message", "literal"). languageAddress("literal://string:Custom%20getter%20test", "literal"). languageAddress("literal://string:Message", "literal"). languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test", "literal"). languageAddress("literal://string:Recipe", "literal"). languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). languageAddress("literal://string:Active%20record%20implementation%20collection%20test", "literal"). languageAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). languageAddress("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "literal"). languageAddress("literal://string:test%20recipes", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). languageName("literal://string:new%20comment", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:Test", "literal"). languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageName("literal://string:test%20message", "literal"). languageName("literal://string:Custom%20getter%20test", "literal"). languageName("literal://string:Message", "literal"). languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test", "literal"). languageName("literal://string:Recipe", "literal"). languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:Active%20record%20implementation%20test", "literal"). languageName("literal://string:Active%20record%20implementation%20collection%20test", "literal"). languageName("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). languageName("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "literal"). languageName("literal://string:test%20recipes", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). expressionAddress("literal://string:new%20comment", "string:new%20comment"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:Test", "string:Test"). expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). expressionAddress("literal://string:test%20message", "string:test%20message"). expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). expressionAddress("literal://string:Message", "string:Message"). expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). expressionAddress("literal://string:Recipe", "string:Recipe"). expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). expressionAddress("literal://string:Active%20record%20implementation%20collection%20test", "string:Active%20record%20implementation%20collection%20test"). expressionAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "string:Active%20record%20implementation%20test%20local%20link"). expressionAddress("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "string:Active%20record%20implementation%20collection%20test%20with%20where"). expressionAddress("literal://string:test%20recipes", "string:test%20recipes"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). subject_class("Test", srksdbln). constructor(srksdbln, '[]'). destructor(srksdbln, '[]'). property(srksdbln, "number"). property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). subject_class("Message", mqvvfluy). constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(mqvvfluy, "type"). property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(mqvvfluy, "body"). property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). subject_class("Recipe", nzkpcwbu). constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). property(nzkpcwbu, "type"). property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(nzkpcwbu, "name"). property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). property(nzkpcwbu, "local"). property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). collection(nzkpcwbu, "entries"). collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "ingredients"). collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "comments"). collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). =====query subject_class("Recipe", C), collection_setter(C, "commentss", Setter). =====result [{"C":"nzkpcwbu","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]"}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). triple("ad4m://self", "", "literal://string:get%20proxy%20test"). triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). triple("test://message", "ad4m://type", "ad4m://undefined"). triple("test://message", "ad4m://type", "ad4m://message"). triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). triple("literal://string:test%20message", "todo://state", "todo://ready"). triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). triple("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1"). triple("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1"). triple("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link"). triple("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink"). triple("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test"). triple("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test%20with%20where"). triple("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://name", "recipe://collection_test"). triple("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://entries", "literal://string:test%20recipes"). triple("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://comment", "recipe://test"). triple("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://comment", "recipe://test1"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706790532891, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706790533421, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706790533626, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706790533710, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe", 1706790534160, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link", 1706790534369, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink", 1706790534459, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test", 1706790534565, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ad4m://type", "ad4m://recipe", 1706790536140, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", 1706790536360, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://name", "recipe://collection_test", 1706790536453, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://entries", "literal://string:test%20recipes", 1706790536538, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://comment", "recipe://test", 1706790536620, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://comment", "recipe://test1", 1706790536620, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). languageAddress("literal://string:new%20comment", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:Test", "literal"). languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageAddress("literal://string:test%20message", "literal"). languageAddress("literal://string:Custom%20getter%20test", "literal"). languageAddress("literal://string:Message", "literal"). languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test", "literal"). languageAddress("literal://string:Recipe", "literal"). languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). languageAddress("literal://string:Active%20record%20implementation%20collection%20test", "literal"). languageAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). languageAddress("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "literal"). languageAddress("literal://string:test%20recipes", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). languageName("literal://string:new%20comment", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:Test", "literal"). languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageName("literal://string:test%20message", "literal"). languageName("literal://string:Custom%20getter%20test", "literal"). languageName("literal://string:Message", "literal"). languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test", "literal"). languageName("literal://string:Recipe", "literal"). languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:Active%20record%20implementation%20test", "literal"). languageName("literal://string:Active%20record%20implementation%20collection%20test", "literal"). languageName("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). languageName("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "literal"). languageName("literal://string:test%20recipes", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). expressionAddress("literal://string:new%20comment", "string:new%20comment"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:Test", "string:Test"). expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). expressionAddress("literal://string:test%20message", "string:test%20message"). expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). expressionAddress("literal://string:Message", "string:Message"). expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). expressionAddress("literal://string:Recipe", "string:Recipe"). expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). expressionAddress("literal://string:Active%20record%20implementation%20collection%20test", "string:Active%20record%20implementation%20collection%20test"). expressionAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "string:Active%20record%20implementation%20test%20local%20link"). expressionAddress("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "string:Active%20record%20implementation%20collection%20test%20with%20where"). expressionAddress("literal://string:test%20recipes", "string:test%20recipes"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). subject_class("Test", srksdbln). constructor(srksdbln, '[]'). destructor(srksdbln, '[]'). property(srksdbln, "number"). property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). subject_class("Message", mqvvfluy). constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(mqvvfluy, "type"). property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(mqvvfluy, "body"). property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). subject_class("Recipe", nzkpcwbu). constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). property(nzkpcwbu, "type"). property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(nzkpcwbu, "name"). property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). property(nzkpcwbu, "local"). property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). collection(nzkpcwbu, "entries"). collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "ingredients"). collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "comments"). collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). =====query subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where"). =====result [{"C":"nzkpcwbu"}] =====query subject_class("Recipe", C), property(C, Property). =====result [{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] =====query subject_class("Recipe", C), property_resolve(C, "type"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "type", Value). =====result [{"C":"nzkpcwbu","Value":"ad4m://recipe"}] =====query subject_class("Recipe", C), property_resolve(C, "name"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "name", Value). =====result [{"C":"nzkpcwbu","Value":"recipe://collection_test"}] =====query subject_class("Recipe", C), property_resolve(C, "local"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "local", Value). =====result false =====query subject_class("Recipe", C), collection(C, Collection). =====result [{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "entries", Value). =====result [{"C":"nzkpcwbu","Value":["literal://string:test%20recipes"]}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ingredients", Value). =====result false =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "comments", Value). =====result [{"C":"nzkpcwbu","Value":["recipe://test","recipe://test1"]}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). triple("ad4m://self", "", "literal://string:get%20proxy%20test"). triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). triple("test://message", "ad4m://type", "ad4m://undefined"). triple("test://message", "ad4m://type", "ad4m://message"). triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). triple("literal://string:test%20message", "todo://state", "todo://ready"). triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). triple("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1"). triple("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test"). triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1"). triple("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link"). triple("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink"). triple("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test"). triple("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ad4m://type", "ad4m://recipe"). triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test%20with%20where"). triple("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://name", "recipe://collection_test"). triple("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://entries", "literal://string:test%20recipes"). triple("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://comment", "recipe://test"). triple("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://comment", "recipe://test1"). triple("literal://string:test%20recipes", "recipe://has_ingredient", "recipe://test"). link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706790532891, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706790533421, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706790533626, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706790533710, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe", 1706790534160, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link", 1706790534369, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink", 1706790534459, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test", 1706790534565, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ad4m://type", "ad4m://recipe", 1706790536140, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", 1706790536360, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://name", "recipe://collection_test", 1706790536453, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://entries", "literal://string:test%20recipes", 1706790536538, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://comment", "recipe://test", 1706790536620, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://comment", "recipe://test1", 1706790536620, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). link("literal://string:test%20recipes", "recipe://has_ingredient", "recipe://test", 1706790536809, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). languageAddress("literal://string:Todo", "literal"). languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). languageAddress("literal://string:new%20comment%202", "literal"). languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). languageAddress("literal://string:new%20comment", "literal"). languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:Test", "literal"). languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageAddress("literal://string:test%20message", "literal"). languageAddress("literal://string:Custom%20getter%20test", "literal"). languageAddress("literal://string:Message", "literal"). languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageAddress("literal://string:Collection%20where%20test", "literal"). languageAddress("literal://string:Recipe", "literal"). languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). languageAddress("literal://string:Active%20record%20implementation%20collection%20test", "literal"). languageAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). languageAddress("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "literal"). languageAddress("literal://string:test%20recipes", "literal"). :- discontiguous(languageName/2). languageName("literal://string:Todo", "literal"). languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). languageName("literal://string:new%20comment%202", "literal"). languageName("literal://string:Decorated%20class%20construction%20test", "literal"). languageName("literal://string:new%20comment", "literal"). languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:Test", "literal"). languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). languageName("literal://string:test%20message", "literal"). languageName("literal://string:Custom%20getter%20test", "literal"). languageName("literal://string:Message", "literal"). languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). languageName("literal://string:Collection%20where%20test", "literal"). languageName("literal://string:Recipe", "literal"). languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:Active%20record%20implementation%20test", "literal"). languageName("literal://string:Active%20record%20implementation%20collection%20test", "literal"). languageName("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). languageName("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "literal"). languageName("literal://string:test%20recipes", "literal"). :- discontiguous(expressionAddress/2). expressionAddress("literal://string:Todo", "string:Todo"). expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). expressionAddress("literal://string:new%20comment", "string:new%20comment"). expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:Test", "string:Test"). expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). expressionAddress("literal://string:test%20message", "string:test%20message"). expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). expressionAddress("literal://string:Message", "string:Message"). expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). expressionAddress("literal://string:Recipe", "string:Recipe"). expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). expressionAddress("literal://string:Active%20record%20implementation%20collection%20test", "string:Active%20record%20implementation%20collection%20test"). expressionAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "string:Active%20record%20implementation%20test%20local%20link"). expressionAddress("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "string:Active%20record%20implementation%20collection%20test%20with%20where"). expressionAddress("literal://string:test%20recipes", "string:test%20recipes"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). :- discontiguous(start_action/2). :- discontiguous(action/4). :- discontiguous(subject_class/2). :- discontiguous(constructor/2). :- discontiguous(destructor/2). :- discontiguous(instance/2). :- discontiguous(property/2). :- discontiguous(property_getter/4). :- discontiguous(property_setter/3). :- discontiguous(property_resolve/2). :- discontiguous(property_resolve_language/3). :- discontiguous(property_named_option/4). :- discontiguous(collection/2). :- discontiguous(collection_getter/4). :- discontiguous(collection_setter/3). :- discontiguous(collection_remover/3). :- discontiguous(collection_adder/3). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). :- use_module(library(lists)). :- discontiguous(paginate/4). paginate(Data, PageNumber, PageSize, PageData) :- PageNumber > 0, PageSize > 0, length(Data, DataLength), MaxSkip is max(0, DataLength - PageSize), SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), skipN(Data, SkipCount, SkippedData), takeN(SkippedData, PageSize, PageData). :- discontiguous(skipN/3). skipN(Data, 0, Data). skipN([_|Rest], N, SkippedData) :- N > 0, NextN is N - 1, skipN(Rest, NextN, SkippedData). :- discontiguous(takeN/3). takeN(_, 0, []). takeN([Item|Rest], N, [Item|PageRest]) :- N > 0, NextN is N - 1, takeN(Rest, NextN, PageRest). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(c, "state"). property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). property(c, "title"). property_resolve(c, "title"). property_resolve_language(c, "title", "literal"). property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). property(c, "isLiked"). property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. collection(c, "comments"). collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). collection(c, "entries"). collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "messages"). collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection(c, "likedMessages"). collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). subject_class("Test", srksdbln). constructor(srksdbln, '[]'). destructor(srksdbln, '[]'). property(srksdbln, "number"). property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). subject_class("Message", mqvvfluy). constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). property(mqvvfluy, "type"). property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(mqvvfluy, "body"). property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). subject_class("Recipe", nzkpcwbu). constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). property(nzkpcwbu, "type"). property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). property(nzkpcwbu, "name"). property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). property(nzkpcwbu, "local"). property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). collection(nzkpcwbu, "entries"). collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "ingredients"). collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). collection(nzkpcwbu, "comments"). collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where"). =====result [{"C":"nzkpcwbu"}] =====query subject_class("Recipe", C), property(C, Property). =====result [{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] =====query subject_class("Recipe", C), property_resolve(C, "type"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "type", Value). =====result [{"C":"nzkpcwbu","Value":"ad4m://recipe"}] =====query subject_class("Recipe", C), property_resolve(C, "name"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "name", Value). =====result [{"C":"nzkpcwbu","Value":"recipe://collection_test"}] =====query subject_class("Recipe", C), property_resolve(C, "local"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "local", Value). =====result false =====query subject_class("Recipe", C), collection(C, Collection). =====result [{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "entries", Value). =====result [{"C":"nzkpcwbu","Value":["literal://string:test%20recipes"]}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ingredients", Value). =====result [{"C":"nzkpcwbu","Value":["literal://string:test%20recipes"]}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "comments", Value). =====result [{"C":"nzkpcwbu","Value":["recipe://test","recipe://test1"]}] =====query subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). =====result [{"C":"nzkpcwbu","Class":"Recipe"}] =====query subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where"). =====result [{"C":"nzkpcwbu"}] =====query subject_class("Recipe", C), property(C, Property). =====result [{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] =====query subject_class("Recipe", C), property_resolve(C, "type"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "type", Value). =====result [{"C":"nzkpcwbu","Value":"ad4m://recipe"}] =====query subject_class("Recipe", C), property_resolve(C, "name"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "name", Value). =====result [{"C":"nzkpcwbu","Value":"recipe://collection_test"}] =====query subject_class("Recipe", C), property_resolve(C, "local"). =====result false =====query subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "local", Value). =====result false =====query subject_class("Recipe", C), collection(C, Collection). =====result [{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "entries", Value). =====result [{"C":"nzkpcwbu","Value":["literal://string:test%20recipes"]}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ingredients", Value). =====result [{"C":"nzkpcwbu","Value":["literal://string:test%20recipes"]}] =====query subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "comments", Value). =====result [{"C":"nzkpcwbu","Value":["recipe://test","recipe://test1"]}]