From cb014095adcb9079fc24dd1a4078bbf810d3b36e Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Fri, 26 Jan 2024 17:18:57 +0100 Subject: [PATCH] Add expected results to integration test Results are logs of what we get with old toplevel-based version of lib_machine. These are also congruent with what our tests logged out based on SWI. --- Cargo.lock | 2 + Cargo.toml | 3 + src/machine/lib_integration_test_commands.txt | 11064 +++++++++++++++- src/machine/lib_machine.rs | 15 +- src/machine/parsed_results.rs | 73 + 5 files changed, 11097 insertions(+), 60 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5a3f1b8c..122966be 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2504,7 +2504,9 @@ dependencies = [ "rustyline", "ryu", "select", + "serde", "serde-wasm-bindgen", + "serde_json", "serial_test", "sha3 0.8.2", "smallvec", diff --git a/Cargo.toml b/Cargo.toml index 922ecdec..2b4f103b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -72,6 +72,9 @@ dashu = "0.4.0" num-order = { version = "1.2.0" } rand = "0.8.5" +serde_json = "1.0.95" +serde = "1.0.159" + [target.'cfg(not(target_arch = "wasm32"))'.dependencies] libffi = { version = "3.2.0", optional = true } hostname = { version = "0.3.1", optional = true } diff --git a/src/machine/lib_integration_test_commands.txt b/src/machine/lib_integration_test_commands.txt index faf40938..f838c867 100644 --- a/src/machine/lib_integration_test_commands.txt +++ b/src/machine/lib_integration_test_commands.txt @@ -33,16 +33,26 @@ reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(p3_instance_color/3). =====query subject_class(X, _). +=====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"). +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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). :- 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). @@ -66,6 +76,7 @@ reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). @@ -111,22 +122,34 @@ collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "t =====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:construct%20test", "todo://state", "todo://ready", 1691084130581, "did:key:z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa"). +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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://ready", 1706199296530, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). :- 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). @@ -151,6 +174,7 @@ expressionAddress("literal://string:construct%20test", "string:construct%20test" :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). @@ -196,56 +220,90 @@ collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "t =====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, "isLiked"). -=====query -subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false =====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_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). -=====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":"likedMessages"},{"C":"c","Collection":"messages"}] =====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":"likedMessagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"}] =====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":"likedMessagess","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\"}]"}] =====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":"likedMessagess","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\"}]"}] =====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:construct%20test", "todo://state", "todo://ready", 1691084130581, "did:key:z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa"). -link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1691084130761, "did:key:z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa"). +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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://ready", 1706199296530, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). :- 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). @@ -271,6 +329,7 @@ expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20t :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). @@ -316,90 +375,148 @@ collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "t =====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":"isLiked"},{"C":"c","Property":"state"},{"C":"c","Property":"title"}] =====query subject_class("Todo", C), property_resolve(C, "isLiked"). -=====query -subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false =====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_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). -=====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":"likedMessages"},{"C":"c","Collection":"messages"}] =====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":"likedMessagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"}] =====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":"likedMessagess","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\"}]"}] =====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":"likedMessagess","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\"}]"}] =====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":"isLiked"},{"C":"c","Property":"state"},{"C":"c","Property":"title"}] =====query subject_class("Todo", C), property_resolve(C, "isLiked"). -=====query -subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false =====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_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). -=====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":"likedMessages"},{"C":"c","Collection":"messages"}] =====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":"likedMessagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"}] =====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":"likedMessagess","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\"}]"}] =====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":"likedMessagess","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\"}]"}] =====query subject_class("Todo", C), property_getter(C, "literal://string:get%20proxy%20test", "state", Value). =====query subject_class("Todo", C), property_getter(C, "literal://string:get%20proxy%20test", "title", Value). +=====result +[{"C":"c","Value":"todo://ready"}] =====query subject_class("Todo", C), constructor(C, Actions). +=====result +false +=====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:construct%20test", "todo://state", "todo://ready", 1691084130581, "did:key:z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa"). -link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1691084130761, "did:key:z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa"). -link("literal://string:construct%20test", "todo://state", "todo://ready", 1691084131145, "did:key:z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa"). +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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://ready", 1706199296530, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://ready", 1706199297079, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). :- 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). @@ -425,6 +542,7 @@ expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20t :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). @@ -470,54 +588,86 @@ collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "t =====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":"isLiked"},{"C":"c","Property":"state"},{"C":"c","Property":"title"}] =====query subject_class("Todo", C), property_resolve(C, "isLiked"). -=====query -subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false =====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_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). -=====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":"likedMessages"},{"C":"c","Collection":"messages"}] =====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":"likedMessagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"}] =====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":"likedMessagess","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\"}]"}] =====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":"likedMessagess","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\"}]"}] =====query subject_class("Todo", C), property_getter(C, "literal://string:construct%20test", "state", Value). +=====result +[{"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:get%20proxy%20test", "todo://state", "todo://ready", 1691084130761, "did:key:z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa"). -link("literal://string:construct%20test", "todo://state", "todo://done", 1691084131359, "did:key:z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa"). +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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). :- 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). @@ -543,6 +693,7 @@ expressionAddress("literal://string:construct%20test", "string:construct%20test" :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). @@ -588,33 +739,45 @@ collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "t =====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%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22timestamp%22%3A%222023-08-03T17%3A35%3A31.405Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%23z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22signature%22%3A%2253a6d498d7c19fed24000efe3339526b564d779f0906b71304c96b1016a09f0288b1f2c5718505f4e23933c95b7a7e68466330a824e01a80c6275d922030860c%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). -link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1691084130761, "did:key:z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa"). -link("literal://string:construct%20test", "todo://state", "todo://done", 1691084131359, "did:key:z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa"). -link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22timestamp%22%3A%222023-08-03T17%3A35%3A31.405Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%23z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22signature%22%3A%2253a6d498d7c19fed24000efe3339526b564d779f0906b71304c96b1016a09f0288b1f2c5718505f4e23933c95b7a7e68466330a824e01a80c6275d922030860c%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1691084131416, "did:key:z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). :- 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%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22timestamp%22%3A%222023-08-03T17%3A35%3A31.405Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%23z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22signature%22%3A%2253a6d498d7c19fed24000efe3339526b564d779f0906b71304c96b1016a09f0288b1f2c5718505f4e23933c95b7a7e68466330a824e01a80c6275d922030860c%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22timestamp%22%3A%222023-08-03T17%3A35%3A31.405Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%23z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22signature%22%3A%2253a6d498d7c19fed24000efe3339526b564d779f0906b71304c96b1016a09f0288b1f2c5718505f4e23933c95b7a7e68466330a824e01a80c6275d922030860c%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22timestamp%22%3A%222023-08-03T17%3A35%3A31.405Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%23z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22signature%22%3A%2253a6d498d7c19fed24000efe3339526b564d779f0906b71304c96b1016a09f0288b1f2c5718505f4e23933c95b7a7e68466330a824e01a80c6275d922030860c%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22timestamp%22%3A%222023-08-03T17%3A35%3A31.405Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%23z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22signature%22%3A%2253a6d498d7c19fed24000efe3339526b564d779f0906b71304c96b1016a09f0288b1f2c5718505f4e23933c95b7a7e68466330a824e01a80c6275d922030860c%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). @@ -638,6 +801,7 @@ expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfMZgoaZc5 :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). @@ -683,40 +847,272 @@ collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "t =====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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:comment%201", 1706199297398, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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)). +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%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22timestamp%22%3A%222023-08-03T17%3A35%3A31.405Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%23z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22signature%22%3A%2253a6d498d7c19fed24000efe3339526b564d779f0906b71304c96b1016a09f0288b1f2c5718505f4e23933c95b7a7e68466330a824e01a80c6275d922030860c%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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:get%20proxy%20test", "todo://state", "todo://ready", 1691084130761, "did:key:z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa"). -link("literal://string:construct%20test", "todo://state", "todo://done", 1691084131359, "did:key:z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa"). -link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22timestamp%22%3A%222023-08-03T17%3A35%3A31.405Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%23z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22signature%22%3A%2253a6d498d7c19fed24000efe3339526b564d779f0906b71304c96b1016a09f0288b1f2c5718505f4e23933c95b7a7e68466330a824e01a80c6275d922030860c%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1691084131416, "did:key:z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa"). -link("literal://string:construct%20test", "todo://comment", "literal://string:comment%201", 1691084131473, "did:key:z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa"). +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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:comment%201", 1706199297398, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:comment%202", 1706199297432, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). :- 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%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22timestamp%22%3A%222023-08-03T17%3A35%3A31.405Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%23z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22signature%22%3A%2253a6d498d7c19fed24000efe3339526b564d779f0906b71304c96b1016a09f0288b1f2c5718505f4e23933c95b7a7e68466330a824e01a80c6275d922030860c%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22timestamp%22%3A%222023-08-03T17%3A35%3A31.405Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%23z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22signature%22%3A%2253a6d498d7c19fed24000efe3339526b564d779f0906b71304c96b1016a09f0288b1f2c5718505f4e23933c95b7a7e68466330a824e01a80c6275d922030860c%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22timestamp%22%3A%222023-08-03T17%3A35%3A31.405Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%23z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22signature%22%3A%2253a6d498d7c19fed24000efe3339526b564d779f0906b71304c96b1016a09f0288b1f2c5718505f4e23933c95b7a7e68466330a824e01a80c6275d922030860c%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22timestamp%22%3A%222023-08-03T17%3A35%3A31.405Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%23z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22signature%22%3A%2253a6d498d7c19fed24000efe3339526b564d779f0906b71304c96b1016a09f0288b1f2c5718505f4e23933c95b7a7e68466330a824e01a80c6275d922030860c%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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)). +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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). @@ -740,6 +1136,7 @@ expressionAddress("literal://string:comment%201", "string:comment%201"). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). @@ -785,31 +1182,46 @@ collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "t =====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%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22timestamp%22%3A%222023-08-03T17%3A35%3A31.405Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%23z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22signature%22%3A%2253a6d498d7c19fed24000efe3339526b564d779f0906b71304c96b1016a09f0288b1f2c5718505f4e23933c95b7a7e68466330a824e01a80c6275d922030860c%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). -link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1691084130761, "did:key:z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa"). -link("literal://string:construct%20test", "todo://state", "todo://done", 1691084131359, "did:key:z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa"). -link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22timestamp%22%3A%222023-08-03T17%3A35%3A31.405Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%23z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22signature%22%3A%2253a6d498d7c19fed24000efe3339526b564d779f0906b71304c96b1016a09f0288b1f2c5718505f4e23933c95b7a7e68466330a824e01a80c6275d922030860c%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1691084131416, "did:key:z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). :- 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%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22timestamp%22%3A%222023-08-03T17%3A35%3A31.405Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%23z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22signature%22%3A%2253a6d498d7c19fed24000efe3339526b564d779f0906b71304c96b1016a09f0288b1f2c5718505f4e23933c95b7a7e68466330a824e01a80c6275d922030860c%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22timestamp%22%3A%222023-08-03T17%3A35%3A31.405Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%23z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22signature%22%3A%2253a6d498d7c19fed24000efe3339526b564d779f0906b71304c96b1016a09f0288b1f2c5718505f4e23933c95b7a7e68466330a824e01a80c6275d922030860c%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22timestamp%22%3A%222023-08-03T17%3A35%3A31.405Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%23z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22signature%22%3A%2253a6d498d7c19fed24000efe3339526b564d779f0906b71304c96b1016a09f0288b1f2c5718505f4e23933c95b7a7e68466330a824e01a80c6275d922030860c%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22timestamp%22%3A%222023-08-03T17%3A35%3A31.405Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%23z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22signature%22%3A%2253a6d498d7c19fed24000efe3339526b564d779f0906b71304c96b1016a09f0288b1f2c5718505f4e23933c95b7a7e68466330a824e01a80c6275d922030860c%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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). @@ -833,6 +1245,7 @@ expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfMZgoaZc5 :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). @@ -878,36 +1291,51 @@ collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "t =====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%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22timestamp%22%3A%222023-08-03T17%3A35%3A31.405Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%23z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22signature%22%3A%2253a6d498d7c19fed24000efe3339526b564d779f0906b71304c96b1016a09f0288b1f2c5718505f4e23933c95b7a7e68466330a824e01a80c6275d922030860c%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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:get%20proxy%20test", "todo://state", "todo://ready", 1691084130761, "did:key:z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa"). -link("literal://string:construct%20test", "todo://state", "todo://done", 1691084131359, "did:key:z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa"). -link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22timestamp%22%3A%222023-08-03T17%3A35%3A31.405Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%23z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22signature%22%3A%2253a6d498d7c19fed24000efe3339526b564d779f0906b71304c96b1016a09f0288b1f2c5718505f4e23933c95b7a7e68466330a824e01a80c6275d922030860c%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1691084131416, "did:key:z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa"). -link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1691084131557, "did:key:z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa"). +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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). :- 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%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22timestamp%22%3A%222023-08-03T17%3A35%3A31.405Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%23z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22signature%22%3A%2253a6d498d7c19fed24000efe3339526b564d779f0906b71304c96b1016a09f0288b1f2c5718505f4e23933c95b7a7e68466330a824e01a80c6275d922030860c%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22timestamp%22%3A%222023-08-03T17%3A35%3A31.405Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%23z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22signature%22%3A%2253a6d498d7c19fed24000efe3339526b564d779f0906b71304c96b1016a09f0288b1f2c5718505f4e23933c95b7a7e68466330a824e01a80c6275d922030860c%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22timestamp%22%3A%222023-08-03T17%3A35%3A31.405Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%23z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22signature%22%3A%2253a6d498d7c19fed24000efe3339526b564d779f0906b71304c96b1016a09f0288b1f2c5718505f4e23933c95b7a7e68466330a824e01a80c6275d922030860c%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22timestamp%22%3A%222023-08-03T17%3A35%3A31.405Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%23z6MkfMZgoaZc5CRUSMxrugjiJLufgkAmRZ72gctjRY4LfxRa%22%2C%22signature%22%3A%2253a6d498d7c19fed24000efe3339526b564d779f0906b71304c96b1016a09f0288b1f2c5718505f4e23933c95b7a7e68466330a824e01a80c6275d922030860c%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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). @@ -931,6 +1359,7 @@ expressionAddress("literal://string:new%20comment%201", "string:new%20comment%20 :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). @@ -976,43 +1405,10564 @@ collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "t =====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:construct%20test"},{"C":"c","X":"literal://string:get%20proxy%20test"}] =====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), 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":"isLiked"},{"C":"c","Property":"state"},{"C":"c","Property":"title"}] =====query subject_class("Todo", C), property_resolve(C, "isLiked"). -=====query -subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false =====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_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":"likedMessages"},{"C":"c","Collection":"messages"}] +=====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":"likedMessagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"}] +=====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":"likedMessagess","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\"}]"}] +=====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":"likedMessagess","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\"}]"}] +=====query +subject_class("Todo", C), property_getter(C, "literal://string:get%20proxy%20test", "state", Value). +=====result +[{"C":"c","Value":"todo://ready"}] +=====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:construct%20test"},{"C":"c","X":"literal://string:get%20proxy%20test"}] +=====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), 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":"isLiked"},{"C":"c","Property":"state"},{"C":"c","Property":"title"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====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_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":"likedMessages"},{"C":"c","Collection":"messages"}] =====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":"likedMessagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"}] =====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":"likedMessagess","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\"}]"}] =====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":"likedMessagess","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\"}]"}] =====query subject_class("Todo", C), property_getter(C, "literal://string:get%20proxy%20test", "state", Value). +=====result +[{"C":"c","Value":"todo://ready"}] +=====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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://ready", 1706199298239, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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)). +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":"isLiked"},{"C":"c","Property":"state"},{"C":"c","Property":"title"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====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_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":"likedMessages"},{"C":"c","Collection":"messages"}] +=====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":"likedMessagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"}] +=====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":"likedMessagess","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\"}]"}] +=====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":"likedMessagess","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\"}]"}] +=====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":"isLiked"},{"C":"c","Property":"state"},{"C":"c","Property":"title"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====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_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":"likedMessages"},{"C":"c","Collection":"messages"}] +=====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":"likedMessagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"}] +=====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":"likedMessagess","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\"}]"}] +=====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":"likedMessagess","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\"}]"}] +=====query +subject_class("Todo", C), property_getter(C, "literal://string:Decorated%20class%20construction%20test", "state", Value). +=====query +subject_class("Todo", C), property_getter(C, "literal://string:Decorated%20class%20construction%20test", "title", Value). +=====result +[{"C":"c","Value":"todo://ready"}] +=====query +subject_class("Todo", C), collection_getter(C, "literal://string:Decorated%20class%20construction%20test", "comments", Value). +=====result +false +=====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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706199298661, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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)). +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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706199298661, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706199298714, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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)). +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:Decorated%20class%20construction%20test"},{"C":"c","Instance":"literal://string:construct%20test"},{"C":"c","Instance":"literal://string:get%20proxy%20test"}] +=====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":"isLiked"},{"C":"c","Property":"state"},{"C":"c","Property":"title"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====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_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":"likedMessages"},{"C":"c","Collection":"messages"}] +=====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":"likedMessagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"}] +=====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":"likedMessagess","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\"}]"}] +=====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":"likedMessagess","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\"}]"}] +=====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":"isLiked"},{"C":"c","Property":"state"},{"C":"c","Property":"title"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====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_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":"likedMessages"},{"C":"c","Collection":"messages"}] +=====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":"likedMessagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"}] +=====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":"likedMessagess","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\"}]"}] +=====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":"likedMessagess","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\"}]"}] +=====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":"isLiked"},{"C":"c","Property":"state"},{"C":"c","Property":"title"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====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_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":"likedMessages"},{"C":"c","Collection":"messages"}] +=====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":"likedMessagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"}] +=====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":"likedMessagess","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\"}]"}] +=====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":"likedMessagess","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\"}]"}] +=====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":"isLiked"},{"C":"c","Property":"state"},{"C":"c","Property":"title"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====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_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":"likedMessages"},{"C":"c","Collection":"messages"}] +=====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":"likedMessagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"}] +=====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":"likedMessagess","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\"}]"}] +=====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":"likedMessagess","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\"}]"}] +=====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":"isLiked"},{"C":"c","Property":"state"},{"C":"c","Property":"title"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====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_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":"likedMessages"},{"C":"c","Collection":"messages"}] +=====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":"likedMessagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"}] +=====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":"likedMessagess","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\"}]"}] +=====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":"likedMessagess","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\"}]"}] +=====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:Decorated%20class%20construction%20test"},{"C":"c","Instance":"literal://string:construct%20test"},{"C":"c","Instance":"literal://string:get%20proxy%20test"}] +=====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":"isLiked"},{"C":"c","Property":"state"},{"C":"c","Property":"title"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====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_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":"likedMessages"},{"C":"c","Collection":"messages"}] +=====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":"likedMessagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"}] +=====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":"likedMessagess","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\"}]"}] +=====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":"likedMessagess","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\"}]"}] +=====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":"isLiked"},{"C":"c","Property":"state"},{"C":"c","Property":"title"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====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_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":"likedMessages"},{"C":"c","Collection":"messages"}] +=====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":"likedMessagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"}] +=====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":"likedMessagess","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\"}]"}] +=====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":"likedMessagess","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\"}]"}] +=====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":"isLiked"},{"C":"c","Property":"state"},{"C":"c","Property":"title"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====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_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":"likedMessages"},{"C":"c","Collection":"messages"}] +=====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":"likedMessagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"}] +=====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":"likedMessagess","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\"}]"}] +=====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":"likedMessagess","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\"}]"}] +=====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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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:Decorated%20class%20construction%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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706199298661, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706199298714, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "", "literal://string:Decorated%20class%20construction%20test", 1706199299930, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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)). +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:Decorated%20class%20construction%20test"}] +=====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":"isLiked"},{"C":"c","Property":"state"},{"C":"c","Property":"title"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====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_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":"likedMessages"},{"C":"c","Collection":"messages"}] +=====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":"likedMessagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"}] +=====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":"likedMessagess","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\"}]"}] +=====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":"likedMessagess","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\"}]"}] +=====query +subject_class("Todo", C), instance(C, Instance). +=====result +[{"C":"c","Instance":"literal://string:Decorated%20class%20construction%20test"},{"C":"c","Instance":"literal://string:construct%20test"},{"C":"c","Instance":"literal://string:get%20proxy%20test"}] +=====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":"isLiked"},{"C":"c","Property":"state"},{"C":"c","Property":"title"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====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_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":"likedMessages"},{"C":"c","Collection":"messages"}] +=====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":"likedMessagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"}] +=====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":"likedMessagess","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\"}]"}] +=====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":"likedMessagess","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\"}]"}] +=====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":"isLiked"},{"C":"c","Property":"state"},{"C":"c","Property":"title"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====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_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":"likedMessages"},{"C":"c","Collection":"messages"}] +=====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":"likedMessagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"}] +=====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":"likedMessagess","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\"}]"}] +=====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":"likedMessagess","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\"}]"}] +=====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":"isLiked"},{"C":"c","Property":"state"},{"C":"c","Property":"title"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====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_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":"likedMessages"},{"C":"c","Collection":"messages"}] +=====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":"likedMessagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"}] +=====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":"likedMessagess","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\"}]"}] +=====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":"likedMessagess","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\"}]"}] +=====query +subject_class("Todo", C), property_getter(C, "literal://string:Decorated%20class%20construction%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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:Decorated%20class%20construction%20test"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706199298661, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706199298714, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "", "literal://string:Decorated%20class%20construction%20test", 1706199299930, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199300559, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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)). +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", "title", Value). +=====result +[{"C":"c","Value":"literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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:Decorated%20class%20construction%20test"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706199298661, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706199298714, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "", "literal://string:Decorated%20class%20construction%20test", 1706199299930, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199300559, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199300637, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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)). +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", gfylyghy). +constructor(gfylyghy, '[]'). +destructor(gfylyghy, '[]'). + +property(gfylyghy, "number"). +property_getter(gfylyghy, 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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:Decorated%20class%20construction%20test"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706199298661, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706199298714, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "", "literal://string:Decorated%20class%20construction%20test", 1706199299930, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199300559, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199300637, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706199300697, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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)). +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", gfylyghy). +constructor(gfylyghy, '[]'). +destructor(gfylyghy, '[]'). + +property(gfylyghy, "number"). +property_getter(gfylyghy, 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":"isLiked"},{"C":"c","Property":"state"},{"C":"c","Property":"title"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====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_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":"likedMessages"},{"C":"c","Collection":"messages"}] +=====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":"likedMessagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"}] +=====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":"likedMessagess","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\"}]"}] +=====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":"likedMessagess","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\"}]"}] +=====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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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:Decorated%20class%20construction%20test"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706199298661, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706199298714, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "", "literal://string:Decorated%20class%20construction%20test", 1706199299930, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199300559, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199300637, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706199300697, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706199300912, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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)). +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", gfylyghy). +constructor(gfylyghy, '[]'). +destructor(gfylyghy, '[]'). + +property(gfylyghy, "number"). +property_getter(gfylyghy, 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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:Decorated%20class%20construction%20test"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706199298661, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706199298714, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "", "literal://string:Decorated%20class%20construction%20test", 1706199299930, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199300559, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199300637, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706199300697, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706199300912, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706199300961, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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)). +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", gfylyghy). +constructor(gfylyghy, '[]'). +destructor(gfylyghy, '[]'). + +property(gfylyghy, "number"). +property_getter(gfylyghy, 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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:Decorated%20class%20construction%20test"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706199298661, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706199298714, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "", "literal://string:Decorated%20class%20construction%20test", 1706199299930, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199300559, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199300637, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706199300697, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706199300912, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706199300961, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706199301040, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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)). +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", gfylyghy). +constructor(gfylyghy, '[]'). +destructor(gfylyghy, '[]'). + +property(gfylyghy, "number"). +property_getter(gfylyghy, 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":"isLiked"},{"C":"c","Property":"state"},{"C":"c","Property":"title"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====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_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":"likedMessages"},{"C":"c","Collection":"messages"}] +=====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":"likedMessagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"}] +=====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":"likedMessagess","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\"}]"}] +=====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":"likedMessagess","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\"}]"}] +=====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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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:Decorated%20class%20construction%20test"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706199298661, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706199298714, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "", "literal://string:Decorated%20class%20construction%20test", 1706199299930, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199300559, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199300637, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706199300697, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706199300912, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706199300961, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706199301040, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706199301262, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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)). +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", gfylyghy). +constructor(gfylyghy, '[]'). +destructor(gfylyghy, '[]'). + +property(gfylyghy, "number"). +property_getter(gfylyghy, 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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:Decorated%20class%20construction%20test"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706199298661, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706199298714, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "", "literal://string:Decorated%20class%20construction%20test", 1706199299930, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199300559, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199300637, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706199300697, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706199300912, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706199300961, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706199301040, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706199301262, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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", 1706199301312, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706199301316, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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)). +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", gfylyghy). +constructor(gfylyghy, '[]'). +destructor(gfylyghy, '[]'). + +property(gfylyghy, "number"). +property_getter(gfylyghy, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", fbsykqie). +constructor(fbsykqie, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(fbsykqie, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(fbsykqie, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(fbsykqie, "type"). +property_getter(fbsykqie, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(fbsykqie, "body"). +property_getter(fbsykqie, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(fbsykqie, "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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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:Decorated%20class%20construction%20test"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706199298661, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706199298714, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "", "literal://string:Decorated%20class%20construction%20test", 1706199299930, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199300559, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199300637, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706199300697, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706199300912, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706199300961, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706199301040, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706199301262, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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", 1706199301312, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706199301316, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://message", 1706199301364, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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)). +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", gfylyghy). +constructor(gfylyghy, '[]'). +destructor(gfylyghy, '[]'). + +property(gfylyghy, "number"). +property_getter(gfylyghy, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", fbsykqie). +constructor(fbsykqie, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(fbsykqie, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(fbsykqie, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(fbsykqie, "type"). +property_getter(fbsykqie, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(fbsykqie, "body"). +property_getter(fbsykqie, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(fbsykqie, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +=====query +subject_class("Message", C), instance(C, Instance). +=====result +[{"C":"fbsykqie","Instance":"test://message"}] +=====query +subject_class("Message", C), instance(C, "test://message"). +=====result +[{"C":"fbsykqie"}] +=====query +subject_class("Message", C), property(C, Property). +=====result +[{"C":"fbsykqie","Property":"body"},{"C":"fbsykqie","Property":"type"}] +=====query +subject_class("Message", C), property_resolve(C, "body"). +=====result +false +=====query +subject_class("Message", C), property_resolve(C, "type"). +=====result +false +=====query +subject_class("Message", C), property_setter(C, Property, Setter). +=====result +[{"C":"fbsykqie","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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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:Decorated%20class%20construction%20test"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706199298661, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706199298714, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "", "literal://string:Decorated%20class%20construction%20test", 1706199299930, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199300559, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199300637, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706199300697, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706199300912, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706199300961, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706199301040, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706199301262, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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", 1706199301312, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706199301316, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://message", 1706199301364, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706199301558, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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)). +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", gfylyghy). +constructor(gfylyghy, '[]'). +destructor(gfylyghy, '[]'). + +property(gfylyghy, "number"). +property_getter(gfylyghy, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", fbsykqie). +constructor(fbsykqie, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(fbsykqie, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(fbsykqie, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(fbsykqie, "type"). +property_getter(fbsykqie, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(fbsykqie, "body"). +property_getter(fbsykqie, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(fbsykqie, "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":"isLiked"},{"C":"c","Property":"state"},{"C":"c","Property":"title"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====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_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":"likedMessages"},{"C":"c","Collection":"messages"}] +=====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":"likedMessagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"}] +=====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":"likedMessagess","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\"}]"}] +=====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":"likedMessagess","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\"}]"}] +=====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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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:Decorated%20class%20construction%20test"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706199298661, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706199298714, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "", "literal://string:Decorated%20class%20construction%20test", 1706199299930, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199300559, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199300637, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706199300697, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706199300912, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706199300961, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706199301040, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706199301262, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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", 1706199301312, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706199301316, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://message", 1706199301364, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706199301558, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706199301766, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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)). +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", gfylyghy). +constructor(gfylyghy, '[]'). +destructor(gfylyghy, '[]'). + +property(gfylyghy, "number"). +property_getter(gfylyghy, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", fbsykqie). +constructor(fbsykqie, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(fbsykqie, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(fbsykqie, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(fbsykqie, "type"). +property_getter(fbsykqie, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(fbsykqie, "body"). +property_getter(fbsykqie, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(fbsykqie, "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":"fbsykqie","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":"fbsykqie"}] +=====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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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:Decorated%20class%20construction%20test"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706199298661, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706199298714, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "", "literal://string:Decorated%20class%20construction%20test", 1706199299930, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199300559, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199300637, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706199300697, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706199300912, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706199300961, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706199301040, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706199301262, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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", 1706199301312, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706199301316, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://message", 1706199301364, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706199301558, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706199301766, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706199301846, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706199301855, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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)). +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", gfylyghy). +constructor(gfylyghy, '[]'). +destructor(gfylyghy, '[]'). + +property(gfylyghy, "number"). +property_getter(gfylyghy, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", fbsykqie). +constructor(fbsykqie, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(fbsykqie, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(fbsykqie, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(fbsykqie, "type"). +property_getter(fbsykqie, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(fbsykqie, "body"). +property_getter(fbsykqie, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(fbsykqie, "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":"fbsykqie","Class":"Message"}] +=====query +subject_class("Message", C), instance(C, "literal://string:test%20message"). +=====result +[{"C":"fbsykqie"}] +=====query +subject_class(Class, C), property(C, "type"), property(C, "body"), property_setter(C, "body", _).. +=====result +[{"C":"fbsykqie","Class":"Message"}] +=====query +subject_class("Message", C), instance(C, "literal://string:test%20message"). +=====result +[{"C":"fbsykqie"}] +=====query +subject_class("Message", C), property(C, Property). +=====result +[{"C":"fbsykqie","Property":"body"},{"C":"fbsykqie","Property":"type"}] +=====query +subject_class("Message", C), property_resolve(C, "body"). +=====result +false +=====query +subject_class("Message", C), property_resolve(C, "type"). +=====result +false +=====query +subject_class("Message", C), property_setter(C, Property, Setter). +=====result +[{"C":"fbsykqie","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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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:Decorated%20class%20construction%20test"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706199298661, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706199298714, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "", "literal://string:Decorated%20class%20construction%20test", 1706199299930, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199300559, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199300637, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706199300697, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706199300912, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706199300961, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706199301040, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706199301262, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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", 1706199301312, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706199301316, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://message", 1706199301364, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706199301558, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706199301766, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706199301846, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706199301855, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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", 1706199302057, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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)). +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", gfylyghy). +constructor(gfylyghy, '[]'). +destructor(gfylyghy, '[]'). + +property(gfylyghy, "number"). +property_getter(gfylyghy, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", fbsykqie). +constructor(fbsykqie, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(fbsykqie, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(fbsykqie, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(fbsykqie, "type"). +property_getter(fbsykqie, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(fbsykqie, "body"). +property_getter(fbsykqie, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(fbsykqie, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", ejankubs). +constructor(ejankubs, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(ejankubs, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(ejankubs, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(ejankubs, "type"). +property_getter(ejankubs, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(ejankubs, "name"). +property_getter(ejankubs, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(ejankubs, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(ejankubs, "local"). +property_getter(ejankubs, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(ejankubs, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(ejankubs, "entries"). +collection_getter(ejankubs, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(ejankubs, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "ingredients"). +collection_getter(ejankubs, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(ejankubs, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "comments"). +collection_getter(ejankubs, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(ejankubs, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(ejankubs, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(ejankubs, "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":"ejankubs","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":"ejankubs","Class":"Recipe"}] +=====query +subject_class("Recipe", C), constructor(C, Actions). +=====result +[{"Actions":"[{action: \"addLink\", source: \"this\", predicate: \"ad4m://type\", target: \"ad4m://recipe\"}]","C":"ejankubs"}] +=====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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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:Decorated%20class%20construction%20test"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706199298661, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706199298714, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "", "literal://string:Decorated%20class%20construction%20test", 1706199299930, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199300559, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199300637, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706199300697, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706199300912, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706199300961, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706199301040, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706199301262, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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", 1706199301312, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706199301316, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://message", 1706199301364, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706199301558, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706199301766, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706199301846, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706199301855, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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", 1706199302057, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706199302132, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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)). +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", gfylyghy). +constructor(gfylyghy, '[]'). +destructor(gfylyghy, '[]'). + +property(gfylyghy, "number"). +property_getter(gfylyghy, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", fbsykqie). +constructor(fbsykqie, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(fbsykqie, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(fbsykqie, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(fbsykqie, "type"). +property_getter(fbsykqie, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(fbsykqie, "body"). +property_getter(fbsykqie, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(fbsykqie, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", ejankubs). +constructor(ejankubs, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(ejankubs, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(ejankubs, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(ejankubs, "type"). +property_getter(ejankubs, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(ejankubs, "name"). +property_getter(ejankubs, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(ejankubs, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(ejankubs, "local"). +property_getter(ejankubs, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(ejankubs, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(ejankubs, "entries"). +collection_getter(ejankubs, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(ejankubs, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "ingredients"). +collection_getter(ejankubs, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(ejankubs, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "comments"). +collection_getter(ejankubs, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(ejankubs, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(ejankubs, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(ejankubs, "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":"ejankubs","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test"). +=====result +[{"C":"ejankubs"}] +=====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":"ejankubs","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test"). +=====result +[{"C":"ejankubs"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"ejankubs","Property":"local"},{"C":"ejankubs","Property":"name"},{"C":"ejankubs","Property":"type"}] +=====query +subject_class("Recipe", C), property_resolve(C, "local"). +=====result +false +=====query +subject_class("Recipe", C), property_resolve(C, "name"). +=====result +false +=====query +subject_class("Recipe", C), property_resolve(C, "type"). +=====result +false +=====query +subject_class("Recipe", C), property_setter(C, Property, Setter). +=====result +[{"C":"ejankubs","Property":"local","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://local\", target: \"value\", local: true}]"},{"C":"ejankubs","Property":"name","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://name\", target: \"value\"}]"}] +=====query +subject_class("Recipe", C), property_resolve_language(C, "local", Language). +=====result +false +=====query +subject_class("Recipe", C), property_resolve_language(C, "name", Language). +=====result +false +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"ejankubs","Collection":"comments"},{"C":"ejankubs","Collection":"entries"},{"C":"ejankubs","Collection":"ingredients"}] +=====query +subject_class("Recipe", C), collection_adder(C, Collection, Adder). +=====result +[{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]","C":"ejankubs","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]","C":"ejankubs","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]","C":"ejankubs","Collection":"ingredientss"}] +=====query +subject_class("Recipe", C), collection_remover(C, Collection, Remover). +=====result +[{"C":"ejankubs","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]"},{"C":"ejankubs","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"ejankubs","Collection":"ingredientss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"}] +=====query +subject_class("Recipe", C), collection_setter(C, Collection, Setter). +=====result +[{"C":"ejankubs","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]"},{"C":"ejankubs","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"ejankubs","Collection":"ingredientss","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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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:Decorated%20class%20construction%20test"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706199298661, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706199298714, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "", "literal://string:Decorated%20class%20construction%20test", 1706199299930, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199300559, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199300637, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706199300697, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706199300912, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706199300961, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706199301040, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706199301262, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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", 1706199301312, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706199301316, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://message", 1706199301364, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706199301558, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706199301766, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706199301846, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706199301855, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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", 1706199302057, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706199302132, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706199302342, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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)). +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", gfylyghy). +constructor(gfylyghy, '[]'). +destructor(gfylyghy, '[]'). + +property(gfylyghy, "number"). +property_getter(gfylyghy, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", fbsykqie). +constructor(fbsykqie, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(fbsykqie, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(fbsykqie, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(fbsykqie, "type"). +property_getter(fbsykqie, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(fbsykqie, "body"). +property_getter(fbsykqie, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(fbsykqie, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", ejankubs). +constructor(ejankubs, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(ejankubs, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(ejankubs, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(ejankubs, "type"). +property_getter(ejankubs, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(ejankubs, "name"). +property_getter(ejankubs, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(ejankubs, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(ejankubs, "local"). +property_getter(ejankubs, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(ejankubs, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(ejankubs, "entries"). +collection_getter(ejankubs, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(ejankubs, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "ingredients"). +collection_getter(ejankubs, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(ejankubs, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "comments"). +collection_getter(ejankubs, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(ejankubs, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(ejankubs, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(ejankubs, "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":"ejankubs","Class":"Recipe"}] +=====query +subject_class("Recipe", C), property_setter(C, "name", Setter). +=====result +[{"C":"ejankubs","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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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:Decorated%20class%20construction%20test"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706199298661, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706199298714, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "", "literal://string:Decorated%20class%20construction%20test", 1706199299930, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199300559, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199300637, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706199300697, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706199300912, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706199300961, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706199301040, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706199301262, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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", 1706199301312, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706199301316, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://message", 1706199301364, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706199301558, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706199301766, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706199301846, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706199301855, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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", 1706199302057, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706199302132, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706199302342, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test", 1706199302428, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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)). +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", gfylyghy). +constructor(gfylyghy, '[]'). +destructor(gfylyghy, '[]'). + +property(gfylyghy, "number"). +property_getter(gfylyghy, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", fbsykqie). +constructor(fbsykqie, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(fbsykqie, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(fbsykqie, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(fbsykqie, "type"). +property_getter(fbsykqie, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(fbsykqie, "body"). +property_getter(fbsykqie, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(fbsykqie, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", ejankubs). +constructor(ejankubs, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(ejankubs, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(ejankubs, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(ejankubs, "type"). +property_getter(ejankubs, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(ejankubs, "name"). +property_getter(ejankubs, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(ejankubs, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(ejankubs, "local"). +property_getter(ejankubs, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(ejankubs, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(ejankubs, "entries"). +collection_getter(ejankubs, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(ejankubs, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "ingredients"). +collection_getter(ejankubs, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(ejankubs, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "comments"). +collection_getter(ejankubs, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(ejankubs, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(ejankubs, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(ejankubs, "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":"ejankubs"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"ejankubs","Property":"local"},{"C":"ejankubs","Property":"name"},{"C":"ejankubs","Property":"type"}] +=====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), property_resolve(C, "name"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "name", Value). +=====result +[{"C":"ejankubs","Value":"recipe://test"}] +=====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":"ejankubs","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"ejankubs","Collection":"comments"},{"C":"ejankubs","Collection":"entries"},{"C":"ejankubs","Collection":"ingredients"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "comments", Value). +=====result +[{"C":"ejankubs","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "entries", Value). +=====result +[{"C":"ejankubs","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "ingredients", Value). +=====result +false +=====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":"ejankubs","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test"). +=====result +[{"C":"ejankubs"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"ejankubs","Property":"local"},{"C":"ejankubs","Property":"name"},{"C":"ejankubs","Property":"type"}] +=====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), property_resolve(C, "name"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "name", Value). +=====result +[{"C":"ejankubs","Value":"recipe://test"}] +=====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":"ejankubs","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"ejankubs","Collection":"comments"},{"C":"ejankubs","Collection":"entries"},{"C":"ejankubs","Collection":"ingredients"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "comments", Value). +=====result +[{"C":"ejankubs","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "entries", Value). +=====result +[{"C":"ejankubs","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "ingredients", Value). +=====result +false +=====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":"ejankubs","Class":"Recipe"}] +=====query +subject_class("Recipe", C), property_setter(C, "name", Setter). +=====result +[{"C":"ejankubs","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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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:Decorated%20class%20construction%20test"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706199298661, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706199298714, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "", "literal://string:Decorated%20class%20construction%20test", 1706199299930, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199300559, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199300637, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706199300697, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706199300912, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706199300961, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706199301040, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706199301262, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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", 1706199301312, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706199301316, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://message", 1706199301364, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706199301558, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706199301766, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706199301846, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706199301855, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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", 1706199302057, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706199302132, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706199302342, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706199302822, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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)). +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", gfylyghy). +constructor(gfylyghy, '[]'). +destructor(gfylyghy, '[]'). + +property(gfylyghy, "number"). +property_getter(gfylyghy, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", fbsykqie). +constructor(fbsykqie, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(fbsykqie, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(fbsykqie, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(fbsykqie, "type"). +property_getter(fbsykqie, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(fbsykqie, "body"). +property_getter(fbsykqie, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(fbsykqie, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", ejankubs). +constructor(ejankubs, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(ejankubs, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(ejankubs, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(ejankubs, "type"). +property_getter(ejankubs, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(ejankubs, "name"). +property_getter(ejankubs, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(ejankubs, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(ejankubs, "local"). +property_getter(ejankubs, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(ejankubs, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(ejankubs, "entries"). +collection_getter(ejankubs, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(ejankubs, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "ingredients"). +collection_getter(ejankubs, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(ejankubs, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "comments"). +collection_getter(ejankubs, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(ejankubs, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(ejankubs, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(ejankubs, "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":"ejankubs"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"ejankubs","Property":"local"},{"C":"ejankubs","Property":"name"},{"C":"ejankubs","Property":"type"}] +=====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), property_resolve(C, "name"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "name", Value). +=====result +[{"C":"ejankubs","Value":"recipe://test1"}] +=====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":"ejankubs","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"ejankubs","Collection":"comments"},{"C":"ejankubs","Collection":"entries"},{"C":"ejankubs","Collection":"ingredients"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "comments", Value). +=====result +[{"C":"ejankubs","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "entries", Value). +=====result +[{"C":"ejankubs","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "ingredients", Value). +=====result +false +=====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":"ejankubs","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test"). +=====result +[{"C":"ejankubs"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"ejankubs","Property":"local"},{"C":"ejankubs","Property":"name"},{"C":"ejankubs","Property":"type"}] +=====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), property_resolve(C, "name"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "name", Value). +=====result +[{"C":"ejankubs","Value":"recipe://test1"}] +=====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":"ejankubs","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"ejankubs","Collection":"comments"},{"C":"ejankubs","Collection":"entries"},{"C":"ejankubs","Collection":"ingredients"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "comments", Value). +=====result +[{"C":"ejankubs","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "entries", Value). +=====result +[{"C":"ejankubs","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "ingredients", Value). +=====result +false +=====query +subject_class(Class, C), property(C, "className"), property(C, "generateSDNA").. +=====result +false +=====query +subject_class("Recipe", C), instance(C, X). +=====result +[{"C":"ejankubs","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":"ejankubs","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test"). +=====result +[{"C":"ejankubs"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"ejankubs","Property":"local"},{"C":"ejankubs","Property":"name"},{"C":"ejankubs","Property":"type"}] +=====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), property_resolve(C, "name"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "name", Value). +=====result +[{"C":"ejankubs","Value":"recipe://test1"}] +=====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":"ejankubs","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"ejankubs","Collection":"comments"},{"C":"ejankubs","Collection":"entries"},{"C":"ejankubs","Collection":"ingredients"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "comments", Value). +=====result +[{"C":"ejankubs","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "entries", Value). +=====result +[{"C":"ejankubs","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "ingredients", Value). +=====result +false +=====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":"ejankubs","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":"ejankubs","Class":"Recipe"}] +=====query +subject_class("Recipe", C), constructor(C, Actions). +=====result +[{"Actions":"[{action: \"addLink\", source: \"this\", predicate: \"ad4m://type\", target: \"ad4m://recipe\"}]","C":"ejankubs"}] +=====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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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:Decorated%20class%20construction%20test"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706199298661, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706199298714, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "", "literal://string:Decorated%20class%20construction%20test", 1706199299930, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199300559, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199300637, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706199300697, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706199300912, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706199300961, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706199301040, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706199301262, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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", 1706199301312, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706199301316, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://message", 1706199301364, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706199301558, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706199301766, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706199301846, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706199301855, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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", 1706199302057, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706199302132, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706199302342, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706199302822, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706199303380, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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)). +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", gfylyghy). +constructor(gfylyghy, '[]'). +destructor(gfylyghy, '[]'). + +property(gfylyghy, "number"). +property_getter(gfylyghy, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", fbsykqie). +constructor(fbsykqie, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(fbsykqie, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(fbsykqie, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(fbsykqie, "type"). +property_getter(fbsykqie, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(fbsykqie, "body"). +property_getter(fbsykqie, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(fbsykqie, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", ejankubs). +constructor(ejankubs, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(ejankubs, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(ejankubs, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(ejankubs, "type"). +property_getter(ejankubs, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(ejankubs, "name"). +property_getter(ejankubs, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(ejankubs, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(ejankubs, "local"). +property_getter(ejankubs, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(ejankubs, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(ejankubs, "entries"). +collection_getter(ejankubs, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(ejankubs, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "ingredients"). +collection_getter(ejankubs, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(ejankubs, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "comments"). +collection_getter(ejankubs, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(ejankubs, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(ejankubs, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(ejankubs, "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":"ejankubs","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20collection%20test"). +=====result +[{"C":"ejankubs"}] +=====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":"ejankubs","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20collection%20test"). +=====result +[{"C":"ejankubs"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"ejankubs","Property":"local"},{"C":"ejankubs","Property":"name"},{"C":"ejankubs","Property":"type"}] +=====query +subject_class("Recipe", C), property_resolve(C, "local"). +=====result +false +=====query +subject_class("Recipe", C), property_resolve(C, "name"). +=====result +false +=====query +subject_class("Recipe", C), property_resolve(C, "type"). +=====result +false +=====query +subject_class("Recipe", C), property_setter(C, Property, Setter). +=====result +[{"C":"ejankubs","Property":"local","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://local\", target: \"value\", local: true}]"},{"C":"ejankubs","Property":"name","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://name\", target: \"value\"}]"}] +=====query +subject_class("Recipe", C), property_resolve_language(C, "local", Language). +=====result +false +=====query +subject_class("Recipe", C), property_resolve_language(C, "name", Language). +=====result +false +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"ejankubs","Collection":"comments"},{"C":"ejankubs","Collection":"entries"},{"C":"ejankubs","Collection":"ingredients"}] +=====query +subject_class("Recipe", C), collection_adder(C, Collection, Adder). +=====result +[{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]","C":"ejankubs","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]","C":"ejankubs","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]","C":"ejankubs","Collection":"ingredientss"}] +=====query +subject_class("Recipe", C), collection_remover(C, Collection, Remover). +=====result +[{"C":"ejankubs","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]"},{"C":"ejankubs","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"ejankubs","Collection":"ingredientss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"}] +=====query +subject_class("Recipe", C), collection_setter(C, Collection, Setter). +=====result +[{"C":"ejankubs","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]"},{"C":"ejankubs","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"ejankubs","Collection":"ingredientss","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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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:Decorated%20class%20construction%20test"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706199298661, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706199298714, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "", "literal://string:Decorated%20class%20construction%20test", 1706199299930, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199300559, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199300637, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706199300697, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706199300912, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706199300961, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706199301040, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706199301262, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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", 1706199301312, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706199301316, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://message", 1706199301364, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706199301558, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706199301766, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706199301846, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706199301855, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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", 1706199302057, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706199302132, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706199302342, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706199302822, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706199303380, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706199303596, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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)). +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", gfylyghy). +constructor(gfylyghy, '[]'). +destructor(gfylyghy, '[]'). + +property(gfylyghy, "number"). +property_getter(gfylyghy, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", fbsykqie). +constructor(fbsykqie, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(fbsykqie, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(fbsykqie, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(fbsykqie, "type"). +property_getter(fbsykqie, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(fbsykqie, "body"). +property_getter(fbsykqie, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(fbsykqie, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", ejankubs). +constructor(ejankubs, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(ejankubs, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(ejankubs, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(ejankubs, "type"). +property_getter(ejankubs, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(ejankubs, "name"). +property_getter(ejankubs, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(ejankubs, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(ejankubs, "local"). +property_getter(ejankubs, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(ejankubs, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(ejankubs, "entries"). +collection_getter(ejankubs, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(ejankubs, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "ingredients"). +collection_getter(ejankubs, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(ejankubs, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "comments"). +collection_getter(ejankubs, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(ejankubs, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(ejankubs, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(ejankubs, "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":"ejankubs","Class":"Recipe"}] +=====query +subject_class("Recipe", C), property_setter(C, "name", Setter). +=====result +[{"C":"ejankubs","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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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:Decorated%20class%20construction%20test"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706199298661, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706199298714, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "", "literal://string:Decorated%20class%20construction%20test", 1706199299930, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199300559, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199300637, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706199300697, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706199300912, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706199300961, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706199301040, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706199301262, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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", 1706199301312, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706199301316, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://message", 1706199301364, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706199301558, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706199301766, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706199301846, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706199301855, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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", 1706199302057, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706199302132, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706199302342, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706199302822, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706199303380, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706199303596, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706199303686, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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)). +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", gfylyghy). +constructor(gfylyghy, '[]'). +destructor(gfylyghy, '[]'). + +property(gfylyghy, "number"). +property_getter(gfylyghy, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", fbsykqie). +constructor(fbsykqie, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(fbsykqie, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(fbsykqie, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(fbsykqie, "type"). +property_getter(fbsykqie, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(fbsykqie, "body"). +property_getter(fbsykqie, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(fbsykqie, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", ejankubs). +constructor(ejankubs, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(ejankubs, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(ejankubs, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(ejankubs, "type"). +property_getter(ejankubs, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(ejankubs, "name"). +property_getter(ejankubs, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(ejankubs, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(ejankubs, "local"). +property_getter(ejankubs, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(ejankubs, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(ejankubs, "entries"). +collection_getter(ejankubs, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(ejankubs, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "ingredients"). +collection_getter(ejankubs, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(ejankubs, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "comments"). +collection_getter(ejankubs, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(ejankubs, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(ejankubs, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(ejankubs, "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":"ejankubs","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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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:Decorated%20class%20construction%20test"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706199298661, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706199298714, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "", "literal://string:Decorated%20class%20construction%20test", 1706199299930, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199300559, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199300637, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706199300697, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706199300912, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706199300961, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706199301040, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706199301262, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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", 1706199301312, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706199301316, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://message", 1706199301364, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706199301558, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706199301766, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706199301846, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706199301855, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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", 1706199302057, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706199302132, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706199302342, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706199302822, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706199303380, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706199303596, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706199303686, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706199303771, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706199303771, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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)). +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", gfylyghy). +constructor(gfylyghy, '[]'). +destructor(gfylyghy, '[]'). + +property(gfylyghy, "number"). +property_getter(gfylyghy, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", fbsykqie). +constructor(fbsykqie, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(fbsykqie, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(fbsykqie, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(fbsykqie, "type"). +property_getter(fbsykqie, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(fbsykqie, "body"). +property_getter(fbsykqie, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(fbsykqie, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", ejankubs). +constructor(ejankubs, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(ejankubs, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(ejankubs, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(ejankubs, "type"). +property_getter(ejankubs, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(ejankubs, "name"). +property_getter(ejankubs, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(ejankubs, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(ejankubs, "local"). +property_getter(ejankubs, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(ejankubs, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(ejankubs, "entries"). +collection_getter(ejankubs, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(ejankubs, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "ingredients"). +collection_getter(ejankubs, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(ejankubs, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "comments"). +collection_getter(ejankubs, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(ejankubs, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(ejankubs, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(ejankubs, "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":"ejankubs"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"ejankubs","Property":"local"},{"C":"ejankubs","Property":"name"},{"C":"ejankubs","Property":"type"}] +=====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), 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":"ejankubs","Value":"recipe://collection_test"}] +=====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":"ejankubs","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"ejankubs","Collection":"comments"},{"C":"ejankubs","Collection":"entries"},{"C":"ejankubs","Collection":"ingredients"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "comments", Value). +=====result +[{"C":"ejankubs","Value":["recipe://test","recipe://test1"]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "entries", Value). +=====result +[{"C":"ejankubs","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "ingredients", Value). +=====result +false +=====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":"ejankubs","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20collection%20test"). +=====result +[{"C":"ejankubs"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"ejankubs","Property":"local"},{"C":"ejankubs","Property":"name"},{"C":"ejankubs","Property":"type"}] +=====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), 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":"ejankubs","Value":"recipe://collection_test"}] +=====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":"ejankubs","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"ejankubs","Collection":"comments"},{"C":"ejankubs","Collection":"entries"},{"C":"ejankubs","Collection":"ingredients"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "comments", Value). +=====result +[{"C":"ejankubs","Value":["recipe://test","recipe://test1"]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "entries", Value). +=====result +[{"C":"ejankubs","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "ingredients", Value). +=====result +false +=====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":"ejankubs","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":"ejankubs","Class":"Recipe"}] +=====query +subject_class("Recipe", C), constructor(C, Actions). +=====result +[{"Actions":"[{action: \"addLink\", source: \"this\", predicate: \"ad4m://type\", target: \"ad4m://recipe\"}]","C":"ejankubs"}] +=====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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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:Decorated%20class%20construction%20test"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706199298661, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706199298714, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "", "literal://string:Decorated%20class%20construction%20test", 1706199299930, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199300559, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199300637, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706199300697, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706199300912, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706199300961, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706199301040, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706199301262, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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", 1706199301312, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706199301316, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://message", 1706199301364, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706199301558, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706199301766, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706199301846, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706199301855, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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", 1706199302057, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706199302132, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706199302342, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706199302822, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706199303380, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706199303596, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706199303686, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706199303771, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706199303771, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe", 1706199304142, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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)). +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", gfylyghy). +constructor(gfylyghy, '[]'). +destructor(gfylyghy, '[]'). + +property(gfylyghy, "number"). +property_getter(gfylyghy, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", fbsykqie). +constructor(fbsykqie, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(fbsykqie, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(fbsykqie, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(fbsykqie, "type"). +property_getter(fbsykqie, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(fbsykqie, "body"). +property_getter(fbsykqie, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(fbsykqie, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", ejankubs). +constructor(ejankubs, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(ejankubs, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(ejankubs, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(ejankubs, "type"). +property_getter(ejankubs, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(ejankubs, "name"). +property_getter(ejankubs, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(ejankubs, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(ejankubs, "local"). +property_getter(ejankubs, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(ejankubs, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(ejankubs, "entries"). +collection_getter(ejankubs, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(ejankubs, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "ingredients"). +collection_getter(ejankubs, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(ejankubs, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "comments"). +collection_getter(ejankubs, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(ejankubs, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(ejankubs, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(ejankubs, "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":"ejankubs","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test%20local%20link"). +=====result +[{"C":"ejankubs"}] +=====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":"ejankubs","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test%20local%20link"). +=====result +[{"C":"ejankubs"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"ejankubs","Property":"local"},{"C":"ejankubs","Property":"name"},{"C":"ejankubs","Property":"type"}] +=====query +subject_class("Recipe", C), property_resolve(C, "local"). +=====result +false +=====query +subject_class("Recipe", C), property_resolve(C, "name"). +=====result +false +=====query +subject_class("Recipe", C), property_resolve(C, "type"). +=====result +false +=====query +subject_class("Recipe", C), property_setter(C, Property, Setter). +=====result +[{"C":"ejankubs","Property":"local","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://local\", target: \"value\", local: true}]"},{"C":"ejankubs","Property":"name","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://name\", target: \"value\"}]"}] +=====query +subject_class("Recipe", C), property_resolve_language(C, "local", Language). +=====result +false +=====query +subject_class("Recipe", C), property_resolve_language(C, "name", Language). +=====result +false +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"ejankubs","Collection":"comments"},{"C":"ejankubs","Collection":"entries"},{"C":"ejankubs","Collection":"ingredients"}] +=====query +subject_class("Recipe", C), collection_adder(C, Collection, Adder). +=====result +[{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]","C":"ejankubs","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]","C":"ejankubs","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]","C":"ejankubs","Collection":"ingredientss"}] +=====query +subject_class("Recipe", C), collection_remover(C, Collection, Remover). +=====result +[{"C":"ejankubs","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]"},{"C":"ejankubs","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"ejankubs","Collection":"ingredientss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"}] +=====query +subject_class("Recipe", C), collection_setter(C, Collection, Setter). +=====result +[{"C":"ejankubs","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]"},{"C":"ejankubs","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"ejankubs","Collection":"ingredientss","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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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:Decorated%20class%20construction%20test"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706199298661, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706199298714, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "", "literal://string:Decorated%20class%20construction%20test", 1706199299930, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199300559, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199300637, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706199300697, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706199300912, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706199300961, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706199301040, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706199301262, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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", 1706199301312, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706199301316, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://message", 1706199301364, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706199301558, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706199301766, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706199301846, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706199301855, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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", 1706199302057, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706199302132, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706199302342, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706199302822, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706199303380, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706199303596, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706199303686, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706199303771, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706199303771, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe", 1706199304142, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link", 1706199304365, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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)). +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", gfylyghy). +constructor(gfylyghy, '[]'). +destructor(gfylyghy, '[]'). + +property(gfylyghy, "number"). +property_getter(gfylyghy, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", fbsykqie). +constructor(fbsykqie, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(fbsykqie, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(fbsykqie, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(fbsykqie, "type"). +property_getter(fbsykqie, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(fbsykqie, "body"). +property_getter(fbsykqie, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(fbsykqie, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", ejankubs). +constructor(ejankubs, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(ejankubs, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(ejankubs, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(ejankubs, "type"). +property_getter(ejankubs, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(ejankubs, "name"). +property_getter(ejankubs, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(ejankubs, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(ejankubs, "local"). +property_getter(ejankubs, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(ejankubs, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(ejankubs, "entries"). +collection_getter(ejankubs, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(ejankubs, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "ingredients"). +collection_getter(ejankubs, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(ejankubs, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "comments"). +collection_getter(ejankubs, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(ejankubs, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(ejankubs, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(ejankubs, "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":"ejankubs","Class":"Recipe"}] +=====query +subject_class("Recipe", C), property_setter(C, "name", Setter). +=====result +[{"C":"ejankubs","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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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:Decorated%20class%20construction%20test"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706199298661, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706199298714, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "", "literal://string:Decorated%20class%20construction%20test", 1706199299930, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199300559, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199300637, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706199300697, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706199300912, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706199300961, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706199301040, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706199301262, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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", 1706199301312, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706199301316, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://message", 1706199301364, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706199301558, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706199301766, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706199301846, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706199301855, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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", 1706199302057, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706199302132, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706199302342, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706199302822, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706199303380, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706199303596, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706199303686, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706199303771, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706199303771, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe", 1706199304142, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link", 1706199304365, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink", 1706199304453, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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)). +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", gfylyghy). +constructor(gfylyghy, '[]'). +destructor(gfylyghy, '[]'). + +property(gfylyghy, "number"). +property_getter(gfylyghy, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", fbsykqie). +constructor(fbsykqie, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(fbsykqie, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(fbsykqie, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(fbsykqie, "type"). +property_getter(fbsykqie, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(fbsykqie, "body"). +property_getter(fbsykqie, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(fbsykqie, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", ejankubs). +constructor(ejankubs, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(ejankubs, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(ejankubs, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(ejankubs, "type"). +property_getter(ejankubs, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(ejankubs, "name"). +property_getter(ejankubs, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(ejankubs, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(ejankubs, "local"). +property_getter(ejankubs, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(ejankubs, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(ejankubs, "entries"). +collection_getter(ejankubs, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(ejankubs, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "ingredients"). +collection_getter(ejankubs, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(ejankubs, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "comments"). +collection_getter(ejankubs, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(ejankubs, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(ejankubs, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(ejankubs, "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":"ejankubs","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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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:Decorated%20class%20construction%20test"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706199298661, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706199298714, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "", "literal://string:Decorated%20class%20construction%20test", 1706199299930, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199300559, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199300637, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706199300697, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706199300912, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706199300961, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706199301040, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706199301262, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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", 1706199301312, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706199301316, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://message", 1706199301364, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706199301558, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706199301766, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706199301846, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706199301855, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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", 1706199302057, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706199302132, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706199302342, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706199302822, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706199303380, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706199303596, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706199303686, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706199303771, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706199303771, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe", 1706199304142, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link", 1706199304365, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink", 1706199304453, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test", 1706199304561, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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)). +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", gfylyghy). +constructor(gfylyghy, '[]'). +destructor(gfylyghy, '[]'). + +property(gfylyghy, "number"). +property_getter(gfylyghy, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", fbsykqie). +constructor(fbsykqie, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(fbsykqie, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(fbsykqie, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(fbsykqie, "type"). +property_getter(fbsykqie, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(fbsykqie, "body"). +property_getter(fbsykqie, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(fbsykqie, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", ejankubs). +constructor(ejankubs, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(ejankubs, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(ejankubs, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(ejankubs, "type"). +property_getter(ejankubs, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(ejankubs, "name"). +property_getter(ejankubs, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(ejankubs, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(ejankubs, "local"). +property_getter(ejankubs, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(ejankubs, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(ejankubs, "entries"). +collection_getter(ejankubs, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(ejankubs, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "ingredients"). +collection_getter(ejankubs, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(ejankubs, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "comments"). +collection_getter(ejankubs, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(ejankubs, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(ejankubs, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(ejankubs, "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":"ejankubs"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"ejankubs","Property":"local"},{"C":"ejankubs","Property":"name"},{"C":"ejankubs","Property":"type"}] +=====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":"ejankubs","Value":"recipe://test"}] +=====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":"ejankubs","Value":"recipe://locallink"}] +=====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":"ejankubs","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"ejankubs","Collection":"comments"},{"C":"ejankubs","Collection":"entries"},{"C":"ejankubs","Collection":"ingredients"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "comments", Value). +=====result +[{"C":"ejankubs","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "entries", Value). +=====result +[{"C":"ejankubs","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "ingredients", Value). +=====result +false +=====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":"ejankubs","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test%20local%20link"). +=====result +[{"C":"ejankubs"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"ejankubs","Property":"local"},{"C":"ejankubs","Property":"name"},{"C":"ejankubs","Property":"type"}] +=====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":"ejankubs","Value":"recipe://test"}] +=====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":"ejankubs","Value":"recipe://locallink"}] +=====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":"ejankubs","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"ejankubs","Collection":"comments"},{"C":"ejankubs","Collection":"entries"},{"C":"ejankubs","Collection":"ingredients"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "comments", Value). +=====result +[{"C":"ejankubs","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "entries", Value). +=====result +[{"C":"ejankubs","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "ingredients", Value). +=====result +false +=====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":[[1706199302342,"literal://string:Active%20record%20implementation%20test"],[1706199303596,"literal://string:Active%20record%20implementation%20collection%20test"],[1706199304365,"literal://string:Active%20record%20implementation%20test%20local%20link"]],"DataLength":3,"SortedData":[[1706199302342,"literal://string:Active%20record%20implementation%20test"],[1706199303596,"literal://string:Active%20record%20implementation%20collection%20test"],[1706199304365,"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":[[1706199302342,"literal://string:Active%20record%20implementation%20test"],[1706199303596,"literal://string:Active%20record%20implementation%20collection%20test"],[1706199304365,"literal://string:Active%20record%20implementation%20test%20local%20link"]],"PageData":[[1706199304365,"literal://string:Active%20record%20implementation%20test%20local%20link"],[1706199303596,"literal://string:Active%20record%20implementation%20collection%20test"]],"ReverseSortedData":[[1706199304365,"literal://string:Active%20record%20implementation%20test%20local%20link"],[1706199303596,"literal://string:Active%20record%20implementation%20collection%20test"],[1706199302342,"literal://string:Active%20record%20implementation%20test"]],"SortedData":[[1706199302342,"literal://string:Active%20record%20implementation%20test"],[1706199303596,"literal://string:Active%20record%20implementation%20collection%20test"],[1706199304365,"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":"ejankubs","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":"ejankubs"}] +=====result +[{"C":"ejankubs"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"ejankubs","Property":"local"},{"C":"ejankubs","Property":"name"},{"C":"ejankubs","Property":"type"}] +=====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). +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "local", Value). +=====result +[{"C":"ejankubs","Value":"recipe://test"}] +=====result +false +=====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). +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "name", Value). +=====result +[{"C":"ejankubs","Value":"recipe://collection_test"}] +=====result +[{"C":"ejankubs","Value":"recipe://locallink"}] +=====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":"ejankubs","Value":"ad4m://recipe"}] +=====result +[{"C":"ejankubs","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"ejankubs","Collection":"comments"},{"C":"ejankubs","Collection":"entries"},{"C":"ejankubs","Collection":"ingredients"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "comments", Value). +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "comments", Value). +=====result +[{"C":"ejankubs","Value":["recipe://test","recipe://test1"]}] +=====result +[{"C":"ejankubs","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "entries", Value). +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "entries", Value). +=====result +[{"C":"ejankubs","Value":[""]}] +=====result +[{"C":"ejankubs","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(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":[[1706199302342,"literal://string:Active%20record%20implementation%20test"],[1706199303596,"literal://string:Active%20record%20implementation%20collection%20test"],[1706199304365,"literal://string:Active%20record%20implementation%20test%20local%20link"]],"DataLength":3,"SortedData":[[1706199302342,"literal://string:Active%20record%20implementation%20test"],[1706199303596,"literal://string:Active%20record%20implementation%20collection%20test"],[1706199304365,"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":[[1706199302342,"literal://string:Active%20record%20implementation%20test"],[1706199303596,"literal://string:Active%20record%20implementation%20collection%20test"],[1706199304365,"literal://string:Active%20record%20implementation%20test%20local%20link"]],"PageData":[[1706199303596,"literal://string:Active%20record%20implementation%20collection%20test"]],"ReverseSortedData":[[1706199304365,"literal://string:Active%20record%20implementation%20test%20local%20link"],[1706199303596,"literal://string:Active%20record%20implementation%20collection%20test"],[1706199302342,"literal://string:Active%20record%20implementation%20test"]],"SortedData":[[1706199302342,"literal://string:Active%20record%20implementation%20test"],[1706199303596,"literal://string:Active%20record%20implementation%20collection%20test"],[1706199304365,"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":"ejankubs","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20collection%20test"). +=====result +[{"C":"ejankubs"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"ejankubs","Property":"local"},{"C":"ejankubs","Property":"name"},{"C":"ejankubs","Property":"type"}] +=====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), 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":"ejankubs","Value":"recipe://collection_test"}] +=====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":"ejankubs","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"ejankubs","Collection":"comments"},{"C":"ejankubs","Collection":"entries"},{"C":"ejankubs","Collection":"ingredients"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "comments", Value). +=====result +[{"C":"ejankubs","Value":["recipe://test","recipe://test1"]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "entries", Value). +=====result +[{"C":"ejankubs","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "ingredients", Value). +=====result +false +=====query +subject_class(Class, C), property(C, "className"), property(C, "generateSDNA").. +=====result +false +=====query +subject_class("Recipe", C), instance(C, X). +=====result +[{"C":"ejankubs","X":"literal://string:Active%20record%20implementation%20collection%20test"},{"C":"ejankubs","X":"literal://string:Active%20record%20implementation%20test"},{"C":"ejankubs","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":"ejankubs","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20collection%20test"). +=====result +[{"C":"ejankubs"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"ejankubs","Property":"local"},{"C":"ejankubs","Property":"name"},{"C":"ejankubs","Property":"type"}] +=====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), 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":"ejankubs","Value":"recipe://collection_test"}] +=====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":"ejankubs","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"ejankubs","Collection":"comments"},{"C":"ejankubs","Collection":"entries"},{"C":"ejankubs","Collection":"ingredients"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "comments", Value). +=====result +[{"C":"ejankubs","Value":["recipe://test","recipe://test1"]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "entries", Value). +=====result +[{"C":"ejankubs","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "ingredients", Value). +=====result +false +=====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":"ejankubs","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test"). +=====result +[{"C":"ejankubs"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"ejankubs","Property":"local"},{"C":"ejankubs","Property":"name"},{"C":"ejankubs","Property":"type"}] +=====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), property_resolve(C, "name"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "name", Value). +=====result +[{"C":"ejankubs","Value":"recipe://test1"}] +=====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":"ejankubs","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"ejankubs","Collection":"comments"},{"C":"ejankubs","Collection":"entries"},{"C":"ejankubs","Collection":"ingredients"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "comments", Value). +=====result +[{"C":"ejankubs","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "entries", Value). +=====result +[{"C":"ejankubs","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "ingredients", Value). +=====result +false +=====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":"ejankubs","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test%20local%20link"). +=====result +[{"C":"ejankubs"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"ejankubs","Property":"local"},{"C":"ejankubs","Property":"name"},{"C":"ejankubs","Property":"type"}] +=====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":"ejankubs","Value":"recipe://test"}] +=====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":"ejankubs","Value":"recipe://locallink"}] +=====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":"ejankubs","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"ejankubs","Collection":"comments"},{"C":"ejankubs","Collection":"entries"},{"C":"ejankubs","Collection":"ingredients"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "comments", Value). +=====result +[{"C":"ejankubs","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "entries", Value). +=====result +[{"C":"ejankubs","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "ingredients", Value). +=====result +false +=====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":"ejankubs","Class":"Recipe"}] +=====query +subject_class("Recipe", C), destructor(C, Actions). +=====result +[{"Actions":"[{action: \"removeLink\", source: \"this\", predicate: \"ad4m://type\", target: \"ad4m://recipe\"}]","C":"ejankubs"}] +=====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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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:Decorated%20class%20construction%20test"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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("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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706199298661, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706199298714, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "", "literal://string:Decorated%20class%20construction%20test", 1706199299930, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199300559, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199300637, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706199300697, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706199300912, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706199300961, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706199301040, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706199301262, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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", 1706199301312, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706199301316, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://message", 1706199301364, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706199301558, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706199301766, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706199301846, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706199301855, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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", 1706199302057, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706199302132, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706199302342, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706199302822, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706199303596, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706199303686, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706199303771, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706199303771, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe", 1706199304142, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link", 1706199304365, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink", 1706199304453, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test", 1706199304561, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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)). +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", gfylyghy). +constructor(gfylyghy, '[]'). +destructor(gfylyghy, '[]'). + +property(gfylyghy, "number"). +property_getter(gfylyghy, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", fbsykqie). +constructor(fbsykqie, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(fbsykqie, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(fbsykqie, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(fbsykqie, "type"). +property_getter(fbsykqie, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(fbsykqie, "body"). +property_getter(fbsykqie, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(fbsykqie, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", ejankubs). +constructor(ejankubs, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(ejankubs, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(ejankubs, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(ejankubs, "type"). +property_getter(ejankubs, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(ejankubs, "name"). +property_getter(ejankubs, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(ejankubs, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(ejankubs, "local"). +property_getter(ejankubs, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(ejankubs, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(ejankubs, "entries"). +collection_getter(ejankubs, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(ejankubs, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "ingredients"). +collection_getter(ejankubs, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(ejankubs, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "comments"). +collection_getter(ejankubs, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(ejankubs, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(ejankubs, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(ejankubs, "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":"ejankubs","X":"literal://string:Active%20record%20implementation%20test"},{"C":"ejankubs","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":"ejankubs","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test"). +=====result +[{"C":"ejankubs"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"ejankubs","Property":"local"},{"C":"ejankubs","Property":"name"},{"C":"ejankubs","Property":"type"}] +=====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), property_resolve(C, "name"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "name", Value). +=====result +[{"C":"ejankubs","Value":"recipe://test1"}] +=====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":"ejankubs","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"ejankubs","Collection":"comments"},{"C":"ejankubs","Collection":"entries"},{"C":"ejankubs","Collection":"ingredients"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "comments", Value). +=====result +[{"C":"ejankubs","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "entries", Value). +=====result +[{"C":"ejankubs","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "ingredients", Value). +=====result +false +=====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":"ejankubs","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test%20local%20link"). +=====result +[{"C":"ejankubs"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"ejankubs","Property":"local"},{"C":"ejankubs","Property":"name"},{"C":"ejankubs","Property":"type"}] +=====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":"ejankubs","Value":"recipe://test"}] +=====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":"ejankubs","Value":"recipe://locallink"}] +=====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":"ejankubs","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"ejankubs","Collection":"comments"},{"C":"ejankubs","Collection":"entries"},{"C":"ejankubs","Collection":"ingredients"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "comments", Value). +=====result +[{"C":"ejankubs","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "entries", Value). +=====result +[{"C":"ejankubs","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "ingredients", Value). +=====result +false +=====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":"ejankubs","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":"ejankubs","Class":"Recipe"}] +=====query +subject_class("Recipe", C), constructor(C, Actions). +=====result +[{"Actions":"[{action: \"addLink\", source: \"this\", predicate: \"ad4m://type\", target: \"ad4m://recipe\"}]","C":"ejankubs"}] +=====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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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:Decorated%20class%20construction%20test"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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("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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706199298661, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706199298714, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "", "literal://string:Decorated%20class%20construction%20test", 1706199299930, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199300559, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199300637, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706199300697, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706199300912, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706199300961, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706199301040, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706199301262, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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", 1706199301312, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706199301316, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://message", 1706199301364, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706199301558, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706199301766, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706199301846, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706199301855, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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", 1706199302057, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706199302132, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706199302342, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706199302822, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706199303596, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706199303686, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706199303771, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706199303771, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe", 1706199304142, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link", 1706199304365, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink", 1706199304453, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test", 1706199304561, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ad4m://type", "ad4m://recipe", 1706199306208, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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)). +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", gfylyghy). +constructor(gfylyghy, '[]'). +destructor(gfylyghy, '[]'). + +property(gfylyghy, "number"). +property_getter(gfylyghy, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", fbsykqie). +constructor(fbsykqie, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(fbsykqie, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(fbsykqie, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(fbsykqie, "type"). +property_getter(fbsykqie, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(fbsykqie, "body"). +property_getter(fbsykqie, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(fbsykqie, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", ejankubs). +constructor(ejankubs, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(ejankubs, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(ejankubs, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(ejankubs, "type"). +property_getter(ejankubs, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(ejankubs, "name"). +property_getter(ejankubs, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(ejankubs, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(ejankubs, "local"). +property_getter(ejankubs, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(ejankubs, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(ejankubs, "entries"). +collection_getter(ejankubs, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(ejankubs, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "ingredients"). +collection_getter(ejankubs, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(ejankubs, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "comments"). +collection_getter(ejankubs, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(ejankubs, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(ejankubs, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(ejankubs, "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":"ejankubs","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where"). +=====result +[{"C":"ejankubs"}] +=====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":"ejankubs","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where"). +=====result +[{"C":"ejankubs"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"ejankubs","Property":"local"},{"C":"ejankubs","Property":"name"},{"C":"ejankubs","Property":"type"}] +=====query +subject_class("Recipe", C), property_resolve(C, "local"). +=====result +false +=====query +subject_class("Recipe", C), property_resolve(C, "name"). +=====result +false +=====query +subject_class("Recipe", C), property_resolve(C, "type"). +=====result +false +=====query +subject_class("Recipe", C), property_setter(C, Property, Setter). +=====result +[{"C":"ejankubs","Property":"local","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://local\", target: \"value\", local: true}]"},{"C":"ejankubs","Property":"name","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://name\", target: \"value\"}]"}] +=====query +subject_class("Recipe", C), property_resolve_language(C, "local", Language). +=====result +false +=====query +subject_class("Recipe", C), property_resolve_language(C, "name", Language). +=====result +false +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"ejankubs","Collection":"comments"},{"C":"ejankubs","Collection":"entries"},{"C":"ejankubs","Collection":"ingredients"}] +=====query +subject_class("Recipe", C), collection_adder(C, Collection, Adder). +=====result +[{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]","C":"ejankubs","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]","C":"ejankubs","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]","C":"ejankubs","Collection":"ingredientss"}] +=====query +subject_class("Recipe", C), collection_remover(C, Collection, Remover). +=====result +[{"C":"ejankubs","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]"},{"C":"ejankubs","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"ejankubs","Collection":"ingredientss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"}] +=====query +subject_class("Recipe", C), collection_setter(C, Collection, Setter). +=====result +[{"C":"ejankubs","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]"},{"C":"ejankubs","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"ejankubs","Collection":"ingredientss","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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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:Decorated%20class%20construction%20test"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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("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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706199298661, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706199298714, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "", "literal://string:Decorated%20class%20construction%20test", 1706199299930, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199300559, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199300637, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706199300697, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706199300912, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706199300961, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706199301040, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706199301262, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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", 1706199301312, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706199301316, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://message", 1706199301364, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706199301558, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706199301766, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706199301846, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706199301855, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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", 1706199302057, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706199302132, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706199302342, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706199302822, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706199303596, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706199303686, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706199303771, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706199303771, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe", 1706199304142, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link", 1706199304365, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink", 1706199304453, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test", 1706199304561, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ad4m://type", "ad4m://recipe", 1706199306208, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", 1706199306426, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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)). +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", gfylyghy). +constructor(gfylyghy, '[]'). +destructor(gfylyghy, '[]'). + +property(gfylyghy, "number"). +property_getter(gfylyghy, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", fbsykqie). +constructor(fbsykqie, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(fbsykqie, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(fbsykqie, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(fbsykqie, "type"). +property_getter(fbsykqie, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(fbsykqie, "body"). +property_getter(fbsykqie, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(fbsykqie, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", ejankubs). +constructor(ejankubs, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(ejankubs, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(ejankubs, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(ejankubs, "type"). +property_getter(ejankubs, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(ejankubs, "name"). +property_getter(ejankubs, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(ejankubs, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(ejankubs, "local"). +property_getter(ejankubs, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(ejankubs, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(ejankubs, "entries"). +collection_getter(ejankubs, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(ejankubs, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "ingredients"). +collection_getter(ejankubs, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(ejankubs, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "comments"). +collection_getter(ejankubs, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(ejankubs, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(ejankubs, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(ejankubs, "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":"ejankubs","Class":"Recipe"}] +=====query +subject_class("Recipe", C), property_setter(C, "name", Setter). +=====result +[{"C":"ejankubs","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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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:Decorated%20class%20construction%20test"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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("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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706199298661, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706199298714, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "", "literal://string:Decorated%20class%20construction%20test", 1706199299930, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199300559, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199300637, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706199300697, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706199300912, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706199300961, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706199301040, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706199301262, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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", 1706199301312, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706199301316, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://message", 1706199301364, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706199301558, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706199301766, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706199301846, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706199301855, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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", 1706199302057, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706199302132, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706199302342, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706199302822, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706199303596, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706199303686, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706199303771, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706199303771, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe", 1706199304142, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link", 1706199304365, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink", 1706199304453, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test", 1706199304561, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ad4m://type", "ad4m://recipe", 1706199306208, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", 1706199306426, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://name", "recipe://collection_test", 1706199306522, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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)). +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", gfylyghy). +constructor(gfylyghy, '[]'). +destructor(gfylyghy, '[]'). + +property(gfylyghy, "number"). +property_getter(gfylyghy, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", fbsykqie). +constructor(fbsykqie, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(fbsykqie, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(fbsykqie, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(fbsykqie, "type"). +property_getter(fbsykqie, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(fbsykqie, "body"). +property_getter(fbsykqie, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(fbsykqie, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", ejankubs). +constructor(ejankubs, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(ejankubs, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(ejankubs, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(ejankubs, "type"). +property_getter(ejankubs, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(ejankubs, "name"). +property_getter(ejankubs, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(ejankubs, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(ejankubs, "local"). +property_getter(ejankubs, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(ejankubs, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(ejankubs, "entries"). +collection_getter(ejankubs, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(ejankubs, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "ingredients"). +collection_getter(ejankubs, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(ejankubs, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "comments"). +collection_getter(ejankubs, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(ejankubs, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(ejankubs, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(ejankubs, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). + +=====query +subject_class("Recipe", C), collection_setter(C, "entriess", Setter). +=====result +[{"C":"ejankubs","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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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:Decorated%20class%20construction%20test"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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("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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706199298661, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706199298714, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "", "literal://string:Decorated%20class%20construction%20test", 1706199299930, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199300559, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199300637, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706199300697, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706199300912, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706199300961, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706199301040, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706199301262, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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", 1706199301312, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706199301316, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://message", 1706199301364, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706199301558, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706199301766, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706199301846, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706199301855, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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", 1706199302057, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706199302132, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706199302342, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706199302822, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706199303596, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706199303686, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706199303771, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706199303771, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe", 1706199304142, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link", 1706199304365, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink", 1706199304453, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test", 1706199304561, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ad4m://type", "ad4m://recipe", 1706199306208, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", 1706199306426, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://name", "recipe://collection_test", 1706199306522, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://entries", "literal://string:test%20recipes", 1706199306601, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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)). +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", gfylyghy). +constructor(gfylyghy, '[]'). +destructor(gfylyghy, '[]'). + +property(gfylyghy, "number"). +property_getter(gfylyghy, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", fbsykqie). +constructor(fbsykqie, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(fbsykqie, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(fbsykqie, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(fbsykqie, "type"). +property_getter(fbsykqie, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(fbsykqie, "body"). +property_getter(fbsykqie, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(fbsykqie, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", ejankubs). +constructor(ejankubs, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(ejankubs, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(ejankubs, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(ejankubs, "type"). +property_getter(ejankubs, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(ejankubs, "name"). +property_getter(ejankubs, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(ejankubs, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(ejankubs, "local"). +property_getter(ejankubs, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(ejankubs, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(ejankubs, "entries"). +collection_getter(ejankubs, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(ejankubs, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "ingredients"). +collection_getter(ejankubs, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(ejankubs, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "comments"). +collection_getter(ejankubs, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(ejankubs, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(ejankubs, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(ejankubs, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). + +=====query +subject_class("Recipe", C), collection_setter(C, "commentss", Setter). +=====result +[{"C":"ejankubs","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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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:Decorated%20class%20construction%20test"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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("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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706199298661, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706199298714, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "", "literal://string:Decorated%20class%20construction%20test", 1706199299930, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199300559, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199300637, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706199300697, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706199300912, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706199300961, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706199301040, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706199301262, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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", 1706199301312, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706199301316, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://message", 1706199301364, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706199301558, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706199301766, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706199301846, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706199301855, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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", 1706199302057, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706199302132, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706199302342, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706199302822, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706199303596, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706199303686, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706199303771, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706199303771, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe", 1706199304142, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link", 1706199304365, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink", 1706199304453, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test", 1706199304561, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ad4m://type", "ad4m://recipe", 1706199306208, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", 1706199306426, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://name", "recipe://collection_test", 1706199306522, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://entries", "literal://string:test%20recipes", 1706199306601, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://comment", "recipe://test", 1706199306688, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://comment", "recipe://test1", 1706199306689, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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)). +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", gfylyghy). +constructor(gfylyghy, '[]'). +destructor(gfylyghy, '[]'). + +property(gfylyghy, "number"). +property_getter(gfylyghy, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", fbsykqie). +constructor(fbsykqie, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(fbsykqie, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(fbsykqie, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(fbsykqie, "type"). +property_getter(fbsykqie, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(fbsykqie, "body"). +property_getter(fbsykqie, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(fbsykqie, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", ejankubs). +constructor(ejankubs, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(ejankubs, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(ejankubs, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(ejankubs, "type"). +property_getter(ejankubs, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(ejankubs, "name"). +property_getter(ejankubs, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(ejankubs, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(ejankubs, "local"). +property_getter(ejankubs, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(ejankubs, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(ejankubs, "entries"). +collection_getter(ejankubs, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(ejankubs, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "ingredients"). +collection_getter(ejankubs, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(ejankubs, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "comments"). +collection_getter(ejankubs, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(ejankubs, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(ejankubs, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(ejankubs, "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":"ejankubs"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"ejankubs","Property":"local"},{"C":"ejankubs","Property":"name"},{"C":"ejankubs","Property":"type"}] +=====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), 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":"ejankubs","Value":"recipe://collection_test"}] +=====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":"ejankubs","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"ejankubs","Collection":"comments"},{"C":"ejankubs","Collection":"entries"},{"C":"ejankubs","Collection":"ingredients"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "comments", Value). +=====result +[{"C":"ejankubs","Value":["recipe://test","recipe://test1"]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "entries", Value). +=====result +[{"C":"ejankubs","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 +=====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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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:Decorated%20class%20construction%20test"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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("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", 1706199296474, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706199296724, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706199297273, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199297332, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706199297520, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706199297655, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706199298661, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706199298714, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "", "literal://string:Decorated%20class%20construction%20test", 1706199299930, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Decorated%20class%20construction%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706199300559, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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", 1706199300637, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706199300697, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706199300912, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706199300961, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706199301040, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706199301262, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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", 1706199301312, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706199301316, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("test://message", "ad4m://type", "ad4m://message", 1706199301364, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706199301558, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706199301766, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706199301846, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706199301855, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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", 1706199302057, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706199302132, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706199302342, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706199302822, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706199303596, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706199303686, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706199303771, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706199303771, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe", 1706199304142, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link", 1706199304365, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink", 1706199304453, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test", 1706199304561, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ad4m://type", "ad4m://recipe", 1706199306208, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", 1706199306426, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://name", "recipe://collection_test", 1706199306522, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://entries", "literal://string:test%20recipes", 1706199306601, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://comment", "recipe://test", 1706199306688, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://comment", "recipe://test1", 1706199306689, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +link("literal://string:test%20recipes", "recipe://has_ingredient", "recipe://test", 1706199306875, "did:key:z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K"). +:- 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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A14%3A57.315Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%22d13b345643f7880cb311d3775939820f95dca22862a0d1993d954a8fa895d57cc74e6258bb488c03212d367dab1f6b19fc804c5eb2bbd17e1d2431f37a912c01%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%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22timestamp%22%3A%222024-01-25T16%3A15%3A00.540Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%23z6Mkoszv7RVeQjbDkHb2R7CYtvdMYc2Po8GqAmR1W6zizp7K%22%2C%22signature%22%3A%225a0cfe55a9cff3fd3db8d07503d7871a3dd5dad47c4eac0e525f02212ed8f5a8099fd62c798e4a053ee78548e53dbe038b566a5abd5592e54e2c278155813609%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20gfylyghy%29.%0Aconstructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0Adestructor%28gfylyghy%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28gfylyghy%2C%20%22number%22%29.%0Aproperty_getter%28gfylyghy%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20fbsykqie%29.%0Aconstructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28fbsykqie%2C%20%27%5B%7Baction%3A%20%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%28fbsykqie%2C%20%22type%22%29.%0Aproperty_getter%28fbsykqie%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28fbsykqie%2C%20%22body%22%29.%0Aproperty_getter%28fbsykqie%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%28fbsykqie%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%20ejankubs%29.%0Aconstructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28ejankubs%2C%20%27%5B%7Baction%3A%20%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%28ejankubs%2C%20%22type%22%29.%0Aproperty_getter%28ejankubs%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28ejankubs%2C%20%22name%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22local%22%29.%0Aproperty_getter%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22entries%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22ingredients%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%2C%20%22comments%22%29.%0Acollection_getter%28ejankubs%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%28ejankubs%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%28ejankubs%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%28ejankubs%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)). +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", gfylyghy). +constructor(gfylyghy, '[]'). +destructor(gfylyghy, '[]'). + +property(gfylyghy, "number"). +property_getter(gfylyghy, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", fbsykqie). +constructor(fbsykqie, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(fbsykqie, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(fbsykqie, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(fbsykqie, "type"). +property_getter(fbsykqie, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(fbsykqie, "body"). +property_getter(fbsykqie, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(fbsykqie, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", ejankubs). +constructor(ejankubs, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(ejankubs, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(ejankubs, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(ejankubs, "type"). +property_getter(ejankubs, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(ejankubs, "name"). +property_getter(ejankubs, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(ejankubs, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(ejankubs, "local"). +property_getter(ejankubs, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(ejankubs, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(ejankubs, "entries"). +collection_getter(ejankubs, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(ejankubs, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "ingredients"). +collection_getter(ejankubs, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(ejankubs, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(ejankubs, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(ejankubs, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(ejankubs, "comments"). +collection_getter(ejankubs, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(ejankubs, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(ejankubs, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(ejankubs, "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":"ejankubs","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where"). +=====result +[{"C":"ejankubs"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"ejankubs","Property":"local"},{"C":"ejankubs","Property":"name"},{"C":"ejankubs","Property":"type"}] +=====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), 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":"ejankubs","Value":"recipe://collection_test"}] +=====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":"ejankubs","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"ejankubs","Collection":"comments"},{"C":"ejankubs","Collection":"entries"},{"C":"ejankubs","Collection":"ingredients"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "comments", Value). +=====result +[{"C":"ejankubs","Value":["recipe://test","recipe://test1"]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "entries", Value). +=====result +[{"C":"ejankubs","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":"ejankubs","Value":["literal://string:test%20recipes"]}] +=====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":"ejankubs","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where"). +=====result +[{"C":"ejankubs"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"ejankubs","Property":"local"},{"C":"ejankubs","Property":"name"},{"C":"ejankubs","Property":"type"}] +=====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), 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":"ejankubs","Value":"recipe://collection_test"}] +=====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":"ejankubs","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"ejankubs","Collection":"comments"},{"C":"ejankubs","Collection":"entries"},{"C":"ejankubs","Collection":"ingredients"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "comments", Value). +=====result +[{"C":"ejankubs","Value":["recipe://test","recipe://test1"]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "entries", Value). +=====result +[{"C":"ejankubs","Value":["literal://string:test%20recipes"]}] =====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", _). +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ingredients", Value). +=====result +[{"C":"ejankubs","Value":["literal://string:test%20recipes"]}] diff --git a/src/machine/lib_machine.rs b/src/machine/lib_machine.rs index 23f8738c..44c5d727 100644 --- a/src/machine/lib_machine.rs +++ b/src/machine/lib_machine.rs @@ -455,6 +455,7 @@ mod tests { let blocks = code.split("====="); let mut i = 0; + let mut last_result: Option<_> = None; // Iterate over the blocks for block in blocks { // Trim the block to remove any leading or trailing whitespace @@ -471,16 +472,24 @@ mod tests { println!("query #{}: {}", i, query); // Parse and execute the query let result = machine.run_query(query.to_string()); - - assert!(result.is_ok()); - // Print the result println!("{:?}", result); + assert!(result.is_ok()); + + last_result = Some(result); } else if let Some(code) = block.strip_prefix("consult") { println!("load code: {}", code); // Load the code into the machine machine.consult_module_string("facts", code.to_string()); + } else if let Some(result) = block.strip_prefix("result") { + if let Some(Ok(ref last_result)) = last_result { + assert_eq!( + last_result.to_string().trim(), + result.to_string().trim(), + ) + } + } } } diff --git a/src/machine/parsed_results.rs b/src/machine/parsed_results.rs index bbc9b091..56b1750f 100644 --- a/src/machine/parsed_results.rs +++ b/src/machine/parsed_results.rs @@ -13,6 +13,79 @@ pub enum QueryResolution { Matches(Vec), } +pub fn prolog_value_to_json_tring(value: Value) -> String { + match value { + Value::Integer(i) => format!("{}", i), + Value::Float(f) => format!("{}", f), + Value::Rational(r) => format!("{}", r), + Value::Atom(a) => format!("{}", a.as_str()), + Value::String(s) => + if let Err(_e) = serde_json::from_str::(s.as_str()) { + //treat as string literal + //escape double quotes + format!("\"{}\"", s + .replace("\"", "\\\"") + .replace("\n", "\\n") + .replace("\t", "\\t") + .replace("\r", "\\r")) + } else { + //return valid json string + s + }, + Value::List(l) => { + let mut string_result = "[".to_string(); + for (i, v) in l.iter().enumerate() { + if i > 0 { + string_result.push_str(","); + } + string_result.push_str(&prolog_value_to_json_tring(v.clone())); + } + string_result.push_str("]"); + string_result + } + Value::Structure(s, l) => { + let mut string_result = format!("\"{}\":[", s.as_str()); + for (i, v) in l.iter().enumerate() { + if i > 0 { + string_result.push_str(","); + } + string_result.push_str(&prolog_value_to_json_tring(v.clone())); + } + string_result.push_str("]"); + string_result + } + _ => "null".to_string(), + } +} + +fn prolog_match_to_json_string(query_match: &QueryMatch) -> String { + let mut string_result = "{".to_string(); + for (i, (k, v)) in query_match.bindings.iter().enumerate() { + if i > 0 { + string_result.push_str(","); + } + string_result.push_str(&format!("\"{}\":{}", k, prolog_value_to_json_tring(v.clone()))); + } + string_result.push_str("}"); + string_result +} + +impl ToString for QueryResolution { + fn to_string(&self) -> String { + match self { + QueryResolution::True => "true".to_string(), + QueryResolution::False => "false".to_string(), + QueryResolution::Matches(matches) => { + let matches_json: Vec = matches + .iter() + .map(|m| prolog_match_to_json_string(m)) + .collect(); + format!("[{}]", matches_json.join(",")) + } + } + } +} + #[derive(Debug, Clone, PartialEq, Eq)] pub struct QueryMatch { pub bindings: BTreeMap, -- 2.54.0