diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e35ce8257..44aad8340 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,7 +21,7 @@ jobs: - name: Setup Rust uses: ./.github/actions/setup-rust with: - rust-version: nightly + rust-version: stable targets: x86_64-unknown-linux-gnu components: clippy, rustfmt cache-context: style @@ -44,7 +44,8 @@ jobs: # architectures - { os: ubuntu-22.04, rust-version: stable, target: 'x86_64-unknown-linux-gnu', publish: true } - { os: ubuntu-22.04, rust-version: stable, target: 'i686-unknown-linux-gnu', publish: true } - - { os: ubuntu-22.04, rust-version: nightly, target: 'wasm32-unknown-unknown', publish: true, args: '--no-default-features' } + # FIXME(issue #2138): run wasm tests, failing to run since https://github.com/mthom/scryer-prolog/pull/2137 removed wasm-pack + - { os: ubuntu-22.04, rust-version: nightly, target: 'wasm32-unknown-unknown', publish: true, args: '--no-default-features' , test-args: '--no-run --no-default-features' } # rust versions - { os: ubuntu-22.04, rust-version: "1.70", target: 'x86_64-unknown-linux-gnu'} - { os: ubuntu-22.04, rust-version: beta, target: 'x86_64-unknown-linux-gnu'} @@ -63,11 +64,9 @@ jobs: # Build and test. - name: Build library - continue-on-error: ${{ contains(matrix.target,'wasm32') }} # allow wasm builds to fail tests for now run: cargo build --all-targets --target ${{ matrix.target }} ${{ matrix.args }} --verbose - name: Test - continue-on-error: ${{ contains(matrix.target,'wasm32') }} # allow wasm builds to fail tests for now - run: cargo test --target ${{ matrix.target }} ${{ matrix.args }} --all + run: cargo test --target ${{ matrix.target }} ${{ matrix.test-args }} --all # On stable rust builds, build a binary and publish as a github actions # artifact. These binaries could be useful for testing the pipeline but @@ -138,7 +137,7 @@ jobs: - name: Setup Rust uses: ./.github/actions/setup-rust with: - rust-version: nightly + rust-version: stable targets: x86_64-unknown-linux-gnu cache-context: report - run: | diff --git a/Cargo.lock b/Cargo.lock index 225cb267f..d4e697bb2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -19,9 +19,9 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] name = "ahash" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" +checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01" dependencies = [ "cfg-if", "getrandom", @@ -2602,7 +2602,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 3e06970e0..461cba64c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -37,52 +37,55 @@ to-syn-value_derive = "0.1.1" walkdir = "2" [dependencies] +base64 = "0.12.3" bit-set = "0.5.3" bitvec = "1" +blake2 = "0.8.1" +bytes = "1" +chrono = "0.4.11" cpu-time = "1.0.0" +crrl = "0.6.0" +dashu = "0.4.0" +derive_deref = "1.1.1" dirs-next = "2.0.0" divrem = "0.1.0" +futures = "0.3" fxhash = "0.2.1" git-version = "0.3.4" indexmap = "1.0.2" lazy_static = "1.4.0" lexical = "5.2.2" libc = "0.2.62" +libloading = "0.7" modular-bitfield = "0.11.2" +num-order = { version = "1.2.0" } ordered-float = "2.6.0" phf = { version = "0.9", features = ["macros"] } +rand = "0.8.5" ref_thread_local = "0.0.0" +regex = "1.9.1" +ring = { version = "0.17.5", features = ["wasm32_unknown_unknown_js"] } ripemd160 = "0.8.0" -sha3 = "0.8.2" -blake2 = "0.8.1" -crrl = "0.6.0" -chrono = "0.4.11" -select = "0.6.0" roxmltree = "0.11.0" -base64 = "0.12.3" +ryu = "1.0.9" +select = "0.6.0" +sha3 = "0.8.2" smallvec = "1.8.0" static_assertions = "1.1.0" -ryu = "1.0.9" -futures = "0.3" -regex = "1.9.1" -libloading = "0.7" -derive_deref = "1.1.1" -bytes = "1" -dashu = "0.4.0" -num-order = { version = "1.2.0" } -rand = "0.8.5" -ring = { version = "0.17.5", features = ["wasm32_unknown_unknown_js"] } + +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 } crossterm = { version = "0.20.0", optional = true } ctrlc = { version = "3.2.2", optional = true } -rustyline = { version = "12.0.0", optional = true } +hostname = { version = "0.3.1", optional = true } +libffi = { version = "3.2.0", optional = true } native-tls = { version = "0.2.4", optional = true } -warp = { version = "=0.3.5", features = ["tls"], optional = true } reqwest = { version = "0.11.18", optional = true } +rustyline = { version = "12.0.0", optional = true } tokio = { version = "1.28.2", features = ["full"] } +warp = { version = "=0.3.5", features = ["tls"], optional = true } [target.'cfg(target_arch = "wasm32")'.dependencies] getrandom = { version = "0.2.10", features = ["js"] } @@ -99,19 +102,26 @@ console_error_panic_hook = "0.1" wasm-bindgen = "0.2.87" wasm-bindgen-futures = "0.4" serde-wasm-bindgen = "0.5" -web-sys = { version = "0.3", features = ["Document", "Window", "Element", "Performance"] } +web-sys = { version = "0.3", features = [ + "Document", + "Window", + "Element", + "Performance", +] } js-sys = "0.3" [dev-dependencies] -assert_cmd = "1.0.3" -predicates-core = "1.0.2" maplit = "1.0.2" +predicates-core = "1.0.2" serial_test = "2.0.0" -iai-callgrind = { git = "https://github.com/iai-callgrind/iai-callgrind.git", rev = "c77bc3c83d7f4e976cc42d4597236a8db259e772" } + +[target.'cfg(not(all(target_arch = "wasm32", target_os = "unknown")))'.dev-dependencies] +assert_cmd = "1.0.3" criterion = "0.5.1" +iai-callgrind = { git = "https://github.com/iai-callgrind/iai-callgrind.git", rev = "c77bc3c83d7f4e976cc42d4597236a8db259e772" } trycmd = "0.14.19" -[target.'cfg(not(target_os = "windows"))'.dev-dependencies] +[target.'cfg(not(any(target_os = "windows", all(target_arch = "wasm32", target_os = "unknown"))))'.dev-dependencies] pprof = { version = "0.13.0", features = ["criterion", "flamegraph"] } [patch.crates-io] diff --git a/benches/run_criterion.rs b/benches/run_criterion.rs index dfbcd1ce7..4622e039e 100644 --- a/benches/run_criterion.rs +++ b/benches/run_criterion.rs @@ -1,10 +1,14 @@ +#[cfg(not(all(target_arch = "wasm32", target_os = "unknown")))] use criterion::{criterion_group, criterion_main, BatchSize, Criterion}; +#[cfg(not(all(target_arch = "wasm32", target_os = "unknown")))] #[cfg(not(target_os = "windows"))] use pprof::criterion::{Output, PProfProfiler}; +#[cfg(not(all(target_arch = "wasm32", target_os = "unknown")))] mod setup; +#[cfg(not(all(target_arch = "wasm32", target_os = "unknown")))] fn bench_criterion(c: &mut Criterion) { for (&name, bench) in setup::prolog_benches().iter() { match bench.strategy { @@ -15,7 +19,7 @@ fn bench_criterion(c: &mut Criterion) { }; } } - +#[cfg(not(all(target_arch = "wasm32", target_os = "unknown")))] #[cfg(not(target_os = "windows"))] fn config() -> Criterion { Criterion::default() @@ -28,9 +32,15 @@ fn config() -> Criterion { Criterion::default().sample_size(20) } +#[cfg(not(all(target_arch = "wasm32", target_os = "unknown")))] criterion_group!( name = benches; config = config(); targets = bench_criterion ); + +#[cfg(not(all(target_arch = "wasm32", target_os = "unknown")))] criterion_main!(benches); + +#[cfg(all(target_arch = "wasm32", target_os = "unknown"))] +fn main() {} diff --git a/benches/run_iai.rs b/benches/run_iai.rs index a897ad86b..4af8115a0 100644 --- a/benches/run_iai.rs +++ b/benches/run_iai.rs @@ -1,18 +1,38 @@ -use iai_callgrind::{library_benchmark, library_benchmark_group, main}; -use scryer_prolog::machine::parsed_results::QueryResolution; - +#[cfg(not(all(target_arch = "wasm32", target_os = "unknown")))] mod setup; -#[library_benchmark] -#[bench::count_edges(setup::prolog_benches()["count_edges"].setup())] -#[bench::numlist(setup::prolog_benches()["numlist"].setup())] -#[bench::csv_codename(setup::prolog_benches()["csv_codename"].setup())] -fn bench(mut run: impl FnMut() -> QueryResolution) -> QueryResolution { - run() +#[cfg(not(all(target_arch = "wasm32", target_os = "unknown")))] +mod iai { + use iai_callgrind::{library_benchmark, library_benchmark_group, main}; + + use scryer_prolog::machine::parsed_results::QueryResolution; + + use super::setup; + + #[library_benchmark] + #[bench::count_edges(setup::prolog_benches()["count_edges"].setup())] + #[bench::numlist(setup::prolog_benches()["numlist"].setup())] + #[bench::csv_codename(setup::prolog_benches()["csv_codename"].setup())] + fn bench(mut run: impl FnMut() -> QueryResolution) -> QueryResolution { + run() + } + + library_benchmark_group!( + name = benches; + benchmarks = bench + ); + + main!(library_benchmark_groups = benches); + + pub fn call_main() { + main() + } +} + +#[cfg(not(all(target_arch = "wasm32", target_os = "unknown")))] +fn main() { + iai::call_main(); } -library_benchmark_group!( - name = benches; - benchmarks = bench -); -main!(library_benchmark_groups = benches); +#[cfg(all(target_arch = "wasm32", target_os = "unknown"))] +fn main() {} diff --git a/benches/setup.rs b/benches/setup.rs index 5e1fea7cb..b9c95c740 100644 --- a/benches/setup.rs +++ b/benches/setup.rs @@ -71,6 +71,7 @@ impl PrologBenchmark { machine } + #[cfg(not(all(target_arch = "wasm32", target_os = "unknown")))] pub fn setup(&self) -> impl FnMut() -> QueryResolution { let mut machine = self.make_machine(); let query = self.query; diff --git a/build/instructions_template.rs b/build/instructions_template.rs index e55442390..7914964f4 100644 --- a/build/instructions_template.rs +++ b/build/instructions_template.rs @@ -1157,27 +1157,27 @@ fn generate_instruction_preface() -> TokenStream { impl Instruction { #[inline] pub fn registers(&self) -> Vec { - match self { - &Instruction::GetConstant(_, _, r) => vec![r], - &Instruction::GetList(_, r) => vec![r], - &Instruction::GetPartialString(_, _, r, _) => vec![r], - &Instruction::GetStructure(_, _, _, r) => vec![r], - &Instruction::GetVariable(r, t) => vec![r, temp_v!(t)], - &Instruction::GetValue(r, t) => vec![r, temp_v!(t)], - &Instruction::UnifyLocalValue(r) => vec![r], - &Instruction::UnifyVariable(r) => vec![r], - &Instruction::PutConstant(_, _, r) => vec![r], - &Instruction::PutList(_, r) => vec![r], - &Instruction::PutPartialString(_, _, r, _) => vec![r], - &Instruction::PutStructure(_, _, r) => vec![r], - &Instruction::PutValue(r, t) => vec![r, temp_v!(t)], - &Instruction::PutVariable(r, t) => vec![r, temp_v!(t)], - &Instruction::SetLocalValue(r) => vec![r], - &Instruction::SetVariable(r) => vec![r], - &Instruction::SetValue(r) => vec![r], - &Instruction::GetLevel(r) => vec![r], - &Instruction::GetPrevLevel(r) => vec![r], - &Instruction::GetCutPoint(r) => vec![r], + match *self { + Instruction::GetConstant(_, _, r) => vec![r], + Instruction::GetList(_, r) => vec![r], + Instruction::GetPartialString(_, _, r, _) => vec![r], + Instruction::GetStructure(_, _, _, r) => vec![r], + Instruction::GetVariable(r, t) => vec![r, temp_v!(t)], + Instruction::GetValue(r, t) => vec![r, temp_v!(t)], + Instruction::UnifyLocalValue(r) => vec![r], + Instruction::UnifyVariable(r) => vec![r], + Instruction::PutConstant(_, _, r) => vec![r], + Instruction::PutList(_, r) => vec![r], + Instruction::PutPartialString(_, _, r, _) => vec![r], + Instruction::PutStructure(_, _, r) => vec![r], + Instruction::PutValue(r, t) => vec![r, temp_v!(t)], + Instruction::PutVariable(r, t) => vec![r, temp_v!(t)], + Instruction::SetLocalValue(r) => vec![r], + Instruction::SetVariable(r) => vec![r], + Instruction::SetValue(r) => vec![r], + Instruction::GetLevel(r) => vec![r], + Instruction::GetPrevLevel(r) => vec![r], + Instruction::GetCutPoint(r) => vec![r], _ => vec![], } } diff --git a/src/bin/scryer-prolog.rs b/src/bin/scryer-prolog.rs index 9ae807731..b1af916d3 100644 --- a/src/bin/scryer-prolog.rs +++ b/src/bin/scryer-prolog.rs @@ -1,11 +1,10 @@ fn main() -> std::process::ExitCode { use scryer_prolog::atom_table::Atom; use scryer_prolog::*; - use std::sync::atomic::Ordering; #[cfg(feature = "repl")] ctrlc::set_handler(move || { - scryer_prolog::machine::INTERRUPT.store(true, Ordering::Relaxed); + scryer_prolog::machine::INTERRUPT.store(true, std::sync::atomic::Ordering::Relaxed); }) .unwrap(); diff --git a/src/ffi.rs b/src/ffi.rs index 64879e58a..a8ffd7442 100644 --- a/src/ffi.rs +++ b/src/ffi.rs @@ -27,6 +27,7 @@ use std::collections::HashMap; use std::convert::TryFrom; use std::error::Error; use std::ffi::{c_void, CString}; +use std::ptr::addr_of_mut; use libffi::low::type_tag::STRUCT; use libffi::low::{ffi_abi_FFI_DEFAULT_ABI, ffi_cif, ffi_type, prep_cif, types, CodePtr}; @@ -90,20 +91,20 @@ impl ForeignFunctionTable { fn map_type_ffi(&mut self, source: &Atom) -> *mut ffi_type { unsafe { match source { - atom!("sint64") => &mut types::sint64, - atom!("sint32") => &mut types::sint32, - atom!("sint16") => &mut types::sint16, - atom!("sint8") => &mut types::sint8, - atom!("uint64") => &mut types::uint64, - atom!("uint32") => &mut types::uint32, - atom!("uint16") => &mut types::uint16, - atom!("uint8") => &mut types::uint8, - atom!("bool") => &mut types::sint8, - atom!("void") => &mut types::void, - atom!("cstr") => &mut types::pointer, - atom!("ptr") => &mut types::pointer, - atom!("f32") => &mut types::float, - atom!("f64") => &mut types::double, + atom!("sint64") => addr_of_mut!(types::sint64), + atom!("sint32") => addr_of_mut!(types::sint32), + atom!("sint16") => addr_of_mut!(types::sint16), + atom!("sint8") => addr_of_mut!(types::sint8), + atom!("uint64") => addr_of_mut!(types::uint64), + atom!("uint32") => addr_of_mut!(types::uint32), + atom!("uint16") => addr_of_mut!(types::uint16), + atom!("uint8") => addr_of_mut!(types::uint8), + atom!("bool") => addr_of_mut!(types::sint8), + atom!("void") => addr_of_mut!(types::void), + atom!("cstr") => addr_of_mut!(types::pointer), + atom!("ptr") => addr_of_mut!(types::pointer), + atom!("f32") => addr_of_mut!(types::float), + atom!("f64") => addr_of_mut!(types::double), struct_name => match self.structs.get_mut(&*struct_name.as_str()) { Some(ref mut struct_type) => &mut struct_type.ffi_type, None => unreachable!(), @@ -161,7 +162,7 @@ impl ForeignFunctionTable { } fn build_pointer_args( - args: &mut Vec, + args: &mut [Value], type_args: &[*mut ffi_type], structs_table: &mut HashMap, ) -> Result { diff --git a/src/heap_print.rs b/src/heap_print.rs index 515ebef6f..e788c253e 100644 --- a/src/heap_print.rs +++ b/src/heap_print.rs @@ -1727,7 +1727,7 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> { self.print_stream(stream, max_depth); } (ArenaHeaderTag::TcpListener, listener) => { - self.print_tcp_listener(&*listener, max_depth); + self.print_tcp_listener(&listener, max_depth); } (ArenaHeaderTag::Dropped, _value) => { self.print_impromptu_atom(atom!("$dropped_value")); diff --git a/src/machine/lib_integration_test_commands.txt b/src/machine/lib_integration_test_commands.txt index faf40938c..153964705 100644 --- a/src/machine/lib_integration_test_commands.txt +++ b/src/machine/lib_integration_test_commands.txt @@ -1,13 +1,21 @@ =====consult :- discontiguous(triple/3). :- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). :- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). :- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). @@ -31,41 +39,32 @@ reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(p3_class_icon/2). :- discontiguous(p3_class_color/2). :- discontiguous(p3_instance_color/3). -=====query -subject_class(X, _). -=====consult -:- discontiguous(triple/3). -:- discontiguous(link/5). -:- discontiguous(reachable/2). -reachable(A,B) :- triple(A,_,B). -reachable(A,B) :- triple(A,_,X), reachable(X,B). -:- discontiguous(hiddenExpression/1). -:- discontiguous(languageAddress/2). -:- discontiguous(languageName/2). -:- discontiguous(expressionAddress/2). -:- discontiguous(register_sdna_flow/2). -:- discontiguous(flowable/2). -:- discontiguous(flow_state/3). -:- discontiguous(start_action/2). -:- discontiguous(action/4). -:- discontiguous(subject_class/2). -:- discontiguous(constructor/2). -:- discontiguous(destructor/2). -:- discontiguous(instance/2). -:- discontiguous(property/2). -:- discontiguous(property_getter/4). -:- discontiguous(property_setter/3). -:- discontiguous(property_resolve/2). -:- discontiguous(property_resolve_language/3). -:- discontiguous(property_named_option/4). -:- discontiguous(collection/2). -:- discontiguous(collection_getter/4). -:- discontiguous(collection_setter/3). -:- discontiguous(collection_remover/3). -:- discontiguous(collection_adder/3). -:- discontiguous(p3_class_icon/2). -:- discontiguous(p3_class_color/2). -:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). @@ -111,22 +110,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", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://ready", 1706790526903, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:construct%20test", "literal"). :- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:construct%20test", "literal"). :- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). @@ -151,6 +162,32 @@ 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)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). @@ -196,56 +233,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). -=====query -subject_class("Todo", C), property_resolve(C, "isLiked"). -=====query -subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +[{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] =====query subject_class("Todo", C), property_resolve(C, "state"). +=====result +false =====query subject_class("Todo", C), property_resolve(C, "title"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false =====query subject_class("Todo", C), property_setter(C, Property, Setter). +=====result +[{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_resolve_language(C, "state", Language). +=====result +false =====query subject_class("Todo", C), property_resolve_language(C, "title", Language). -=====query -subject_class("Todo", C), property_resolve_language(C, "title", Language). +=====result +[{"C":"c","Language":"literal"}] =====query subject_class("Todo", C), collection(C, Collection). +=====result +[{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] =====query subject_class("Todo", C), collection_adder(C, Collection, Adder). +=====result +[{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] =====query subject_class("Todo", C), collection_remover(C, Collection, Remover). +=====result +[{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), collection_setter(C, Collection, Setter). +=====result +[{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), instance(C, "literal://string:construct%20test"). +=====result +[{"C":"c"}] =====query subject_class("Todo", C), constructor(C, Actions). +=====result +[{"Actions":"[{action: \"addLink\", source: \"this\", predicate: \"todo://state\", target: \"todo://ready\"}]","C":"c"}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:construct%20test", "todo://state", "todo://ready"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). -link("literal://string: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", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://ready", 1706790526903, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). :- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). :- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). :- discontiguous(register_sdna_flow/2). @@ -271,6 +342,32 @@ 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)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). @@ -316,90 +413,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). -=====query -subject_class("Todo", C), property_resolve(C, "isLiked"). -=====query -subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +[{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] =====query subject_class("Todo", C), property_resolve(C, "state"). +=====result +false =====query subject_class("Todo", C), property_resolve(C, "title"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false =====query subject_class("Todo", C), property_setter(C, Property, Setter). +=====result +[{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_resolve_language(C, "state", Language). +=====result +false =====query subject_class("Todo", C), property_resolve_language(C, "title", Language). -=====query -subject_class("Todo", C), property_resolve_language(C, "title", Language). +=====result +[{"C":"c","Language":"literal"}] =====query subject_class("Todo", C), collection(C, Collection). +=====result +[{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] =====query subject_class("Todo", C), collection_adder(C, Collection, Adder). +=====result +[{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] =====query subject_class("Todo", C), collection_remover(C, Collection, Remover). +=====result +[{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), collection_setter(C, Collection, Setter). +=====result +[{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), instance(C, "literal://string:get%20proxy%20test"). +=====result +[{"C":"c"}] =====query subject_class("Todo", C), instance(C, "literal://string:get%20proxy%20test"). +=====result +[{"C":"c"}] =====query subject_class("Todo", C), property(C, Property). -=====query -subject_class("Todo", C), property_resolve(C, "isLiked"). -=====query -subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +[{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] =====query subject_class("Todo", C), property_resolve(C, "state"). +=====result +false =====query subject_class("Todo", C), property_resolve(C, "title"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false =====query subject_class("Todo", C), property_setter(C, Property, Setter). +=====result +[{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_resolve_language(C, "state", Language). +=====result +false =====query subject_class("Todo", C), property_resolve_language(C, "title", Language). -=====query -subject_class("Todo", C), property_resolve_language(C, "title", Language). +=====result +[{"C":"c","Language":"literal"}] =====query subject_class("Todo", C), collection(C, Collection). +=====result +[{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] =====query subject_class("Todo", C), collection_adder(C, Collection, Adder). +=====result +[{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] =====query subject_class("Todo", C), collection_remover(C, Collection, Remover). +=====result +[{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), collection_setter(C, Collection, Setter). +=====result +[{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_getter(C, "literal://string:get%20proxy%20test", "state", Value). +=====result +[{"C":"c","Value":"todo://ready"}] =====query subject_class("Todo", C), property_getter(C, "literal://string:get%20proxy%20test", "title", Value). +=====result +false =====query subject_class("Todo", C), constructor(C, Actions). +=====result +[{"Actions":"[{action: \"addLink\", source: \"this\", predicate: \"todo://state\", target: \"todo://ready\"}]","C":"c"}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:construct%20test", "todo://state", "todo://ready"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://ready"). -link("literal://string: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", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://ready", 1706790526903, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://ready", 1706790527417, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:construct%20test", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). :- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:construct%20test", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). :- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). :- discontiguous(register_sdna_flow/2). @@ -425,6 +580,32 @@ 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)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). @@ -470,54 +651,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). -=====query -subject_class("Todo", C), property_resolve(C, "isLiked"). -=====query -subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +[{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] =====query subject_class("Todo", C), property_resolve(C, "state"). +=====result +false =====query subject_class("Todo", C), property_resolve(C, "title"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false =====query subject_class("Todo", C), property_setter(C, Property, Setter). +=====result +[{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_resolve_language(C, "state", Language). +=====result +false =====query subject_class("Todo", C), property_resolve_language(C, "title", Language). -=====query -subject_class("Todo", C), property_resolve_language(C, "title", Language). +=====result +[{"C":"c","Language":"literal"}] =====query subject_class("Todo", C), collection(C, Collection). +=====result +[{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] =====query subject_class("Todo", C), collection_adder(C, Collection, Adder). +=====result +[{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] =====query subject_class("Todo", C), collection_remover(C, Collection, Remover). +=====result +[{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), collection_setter(C, Collection, Setter). +=====result +[{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] =====query subject_class("Todo", C), property_getter(C, "literal://string:construct%20test", "state", Value). +=====result +[{"C":"c","Value":"todo://ready"},{"C":"c","Value":"todo://ready"}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). -link("literal://string: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", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). :- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). :- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). :- discontiguous(register_sdna_flow/2). @@ -543,6 +756,32 @@ 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)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). @@ -588,33 +827,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%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). -languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%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%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). :- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). -languageName("literal://json:%7B%22author%22%3A%22did%3Akey%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%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). :- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). -expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%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%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). @@ -638,6 +889,32 @@ 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)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). @@ -683,40 +960,193 @@ 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%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"}] +=====query +subject_class("Todo", C), collection_getter(C, "literal://string:construct%20test", "comments", Value). +=====result +[{"C":"c","Value":[""]}] =====query subject_class("Todo", C), collection_getter(C, "literal://string:construct%20test", "comments", Value). +=====result +[{"C":"c","Value":[""]}] +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:comment%201"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:comment%201", 1706790527721, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:comment%201", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:comment%201", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:comment%201", "string:comment%201"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + =====query subject_class("Todo", C), collection_getter(C, "literal://string:construct%20test", "comments", Value). +=====result +[{"C":"c","Value":["literal://string:comment%201"]}] =====consult :- discontiguous(triple/3). :- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). triple("literal://string:construct%20test", "todo://state", "todo://done"). -triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%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%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:comment%201"). -link("literal://string: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", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:comment%201", 1706790527721, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:comment%202", 1706790527762, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). -languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%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%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:comment%201", "literal"). +languageAddress("literal://string:comment%202", "literal"). :- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). -languageName("literal://json:%7B%22author%22%3A%22did%3Akey%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%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:comment%201", "literal"). +languageName("literal://string:comment%202", "literal"). :- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). -expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%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%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:comment%201", "string:comment%201"). +expressionAddress("literal://string:comment%202", "string:comment%202"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). @@ -740,6 +1170,32 @@ 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)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). @@ -785,31 +1241,41 @@ 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: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%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%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). -languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%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%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). :- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). -languageName("literal://json:%7B%22author%22%3A%22did%3Akey%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%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). :- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). -expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%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%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). :- discontiguous(flow_state/3). @@ -833,6 +1299,32 @@ 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)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). @@ -878,35 +1370,45 @@ 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"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). -link("literal://string: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"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). :- discontiguous(reachable/2). reachable(A,B) :- triple(A,_,B). reachable(A,B) :- triple(A,_,X), reachable(X,B). :- discontiguous(hiddenExpression/1). :- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageAddress("literal://string:get%20proxy%20test", "literal"). languageAddress("literal://string:construct%20test", "literal"). -languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%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%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageAddress("literal://string:new%20comment%201", "literal"). :- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). languageName("literal://string:get%20proxy%20test", "literal"). languageName("literal://string:construct%20test", "literal"). -languageName("literal://json:%7B%22author%22%3A%22did%3Akey%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%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). languageName("literal://string:new%20comment%201", "literal"). :- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). expressionAddress("literal://string:construct%20test", "string:construct%20test"). -expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%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%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). :- discontiguous(register_sdna_flow/2). :- discontiguous(flowable/2). @@ -931,6 +1433,32 @@ 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)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + subject_class("Todo", c). constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). instance(c, Base) :- triple(Base, "todo://state", _). @@ -976,43 +1504,11603 @@ collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "t =====query subject_class("Todo", C), collection_getter(C, "literal://string:construct%20test", "comments", Value). -=====query -subject_class("Todo", C), instance(C, X). -=====query -subject_class("Todo", C), instance(C, "literal://string:construct%20test"). -=====query -subject_class("Todo", C), instance(C, "literal://string:get%20proxy%20test"). -=====query -subject_class("Todo", C), instance(C, "literal://string:construct%20test"). -=====query -subject_class("Todo", C), instance(C, "literal://string:get%20proxy%20test"). -=====query -subject_class("Todo", C), property(C, Property). -=====query -subject_class("Todo", C), property_resolve(C, "isLiked"). -=====query -subject_class("Todo", C), property_resolve(C, "isLiked"). -=====query -subject_class("Todo", C), property_resolve(C, "state"). -=====query -subject_class("Todo", C), property_resolve(C, "title"). -=====query -subject_class("Todo", C), property_setter(C, Property, Setter). -=====query -subject_class("Todo", C), property_resolve_language(C, "state", Language). -=====query -subject_class("Todo", C), property_resolve_language(C, "title", Language). -=====query -subject_class("Todo", C), property_resolve_language(C, "title", Language). -=====query -subject_class("Todo", C), collection(C, Collection). -=====query -subject_class("Todo", C), collection_adder(C, Collection, Adder). -=====query -subject_class("Todo", C), collection_remover(C, Collection, Remover). -=====query -subject_class("Todo", C), collection_setter(C, Collection, Setter). -=====query -subject_class("Todo", C), property_getter(C, "literal://string:get%20proxy%20test", "state", Value). -=====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","Value":["literal://string:new%20comment%201"]}] +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +=====query +subject_class("Todo", C), collection_getter(C, "literal://string:construct%20test", "comments", Value). +=====result +[{"C":"c","Value":["literal://string:new%20comment%201","literal://string:new%20comment%202"]}] +=====query +subject_class("Todo", C), instance(C, X). +=====result +[{"C":"c","X":"literal://string:get%20proxy%20test"},{"C":"c","X":"literal://string:construct%20test"}] +=====query +subject_class("Todo", C), instance(C, "literal://string:get%20proxy%20test"). +=====query +subject_class("Todo", C), instance(C, "literal://string:construct%20test"). +=====result +[{"C":"c"}] +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), instance(C, "literal://string:construct%20test"). +=====query +subject_class("Todo", C), instance(C, "literal://string:get%20proxy%20test"). +=====result +[{"C":"c"}] +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property(C, Property). +=====result +[{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] +=====query +subject_class("Todo", C), property_resolve(C, "state"). +=====result +false +=====query +subject_class("Todo", C), property_resolve(C, "title"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====query +subject_class("Todo", C), property_setter(C, Property, Setter). +=====result +[{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), property_resolve_language(C, "state", Language). +=====result +false +=====query +subject_class("Todo", C), property_resolve_language(C, "title", Language). +=====result +[{"C":"c","Language":"literal"}] +=====query +subject_class("Todo", C), collection(C, Collection). +=====result +[{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] +=====query +subject_class("Todo", C), collection_adder(C, Collection, Adder). +=====result +[{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] +=====query +subject_class("Todo", C), collection_remover(C, Collection, Remover). +=====result +[{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), collection_setter(C, Collection, Setter). +=====result +[{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), property_getter(C, "literal://string:construct%20test", "state", Value). +=====result +[{"C":"c","Value":"todo://done"}] +=====query +subject_class(Class, C), property(C, "state"), property(C, "title"), collection(C, "comments"), property_setter(C, "state", _), property_setter(C, "title", _), collection_adder(C, "commentss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"c","Class":"Todo"}] +=====query +subject_class(Class, C), property(C, "name"), property(C, "x"), property_setter(C, "top", _). +=====result +false +=====query +subject_class(Class, C), property(C, "state"), property(C, "title"), collection(C, "comments"), property_setter(C, "state", _), property_setter(C, "title", _), property_setter(C, "top", _), collection_adder(C, "comments", _). +=====result +false +=====query +subject_class(Class, C), property(C, "state"), property(C, "title"), collection(C, "comments"), property_setter(C, "state", _), property_setter(C, "title", _), collection_adder(C, "commentss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"c","Class":"Todo"}] +=====query +subject_class("Todo", C), instance(C, X). +=====result +[{"C":"c","X":"literal://string:get%20proxy%20test"},{"C":"c","X":"literal://string:construct%20test"}] +=====query +subject_class("Todo", C), instance(C, "literal://string:get%20proxy%20test"). +=====query +subject_class("Todo", C), instance(C, "literal://string:construct%20test"). +=====result +[{"C":"c"}] +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), instance(C, "literal://string:construct%20test"). +=====query +subject_class("Todo", C), instance(C, "literal://string:get%20proxy%20test"). +=====result +[{"C":"c"}] +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property(C, Property). +=====result +[{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] +=====query +subject_class("Todo", C), property_resolve(C, "state"). +=====result +false +=====query +subject_class("Todo", C), property_resolve(C, "title"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====query +subject_class("Todo", C), property_setter(C, Property, Setter). +=====result +[{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), property_resolve_language(C, "state", Language). +=====result +false +=====query +subject_class("Todo", C), property_resolve_language(C, "title", Language). +=====result +[{"C":"c","Language":"literal"}] +=====query +subject_class("Todo", C), collection(C, Collection). +=====result +[{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] +=====query +subject_class("Todo", C), collection_adder(C, Collection, Adder). +=====result +[{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] +=====query +subject_class("Todo", C), collection_remover(C, Collection, Remover). +=====result +[{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), collection_setter(C, Collection, Setter). +=====result +[{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), property_getter(C, "literal://string:construct%20test", "state", Value). +=====result +[{"C":"c","Value":"todo://done"}] +=====query +subject_class(Class, C), property(C, "state"), property(C, "title"), property(C, "isLiked"), property_setter(C, "state", _), property_setter(C, "title", _), collection_adder(C, "commentss", _), collection_adder(C, "entriess", _), collection_adder(C, "messagess", _), collection_adder(C, "likedMessagess", _), collection_remover(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "messagess", _), collection_remover(C, "likedMessagess", _), collection_setter(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "messagess", _), collection_setter(C, "likedMessagess", _). +=====result +[{"C":"c","Class":"Todo"}] +=====query +subject_class("Todo", C), constructor(C, Actions). +=====result +[{"Actions":"[{action: \"addLink\", source: \"this\", predicate: \"todo://state\", target: \"todo://ready\"}]","C":"c"}] +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://ready"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://ready", 1706790528552, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +=====query +subject_class(Class, C), property(C, "state"), property(C, "title"), property(C, "isLiked"), property_setter(C, "state", _), property_setter(C, "title", _), collection_adder(C, "commentss", _), collection_adder(C, "entriess", _), collection_adder(C, "messagess", _), collection_adder(C, "likedMessagess", _), collection_remover(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "messagess", _), collection_remover(C, "likedMessagess", _), collection_setter(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "messagess", _), collection_setter(C, "likedMessagess", _). +=====result +[{"C":"c","Class":"Todo"}] +=====query +subject_class("Todo", C), instance(C, "literal://string:Decorated%20class%20construction%20test"). +=====result +[{"C":"c"}] +=====query +subject_class(Class, C), property(C, "state"), property(C, "title"), property(C, "isLiked"), property_setter(C, "state", _), property_setter(C, "title", _), collection_adder(C, "commentss", _), collection_adder(C, "entriess", _), collection_adder(C, "messagess", _), collection_adder(C, "likedMessagess", _), collection_remover(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "messagess", _), collection_remover(C, "likedMessagess", _), collection_setter(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "messagess", _), collection_setter(C, "likedMessagess", _). +=====result +[{"C":"c","Class":"Todo"}] +=====query +subject_class("Todo", C), instance(C, "literal://string:Decorated%20class%20construction%20test"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property(C, Property). +=====result +[{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] +=====query +subject_class("Todo", C), property_resolve(C, "state"). +=====result +false +=====query +subject_class("Todo", C), property_resolve(C, "title"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====query +subject_class("Todo", C), property_setter(C, Property, Setter). +=====result +[{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), property_resolve_language(C, "state", Language). +=====result +false +=====query +subject_class("Todo", C), property_resolve_language(C, "title", Language). +=====result +[{"C":"c","Language":"literal"}] +=====query +subject_class("Todo", C), collection(C, Collection). +=====result +[{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] +=====query +subject_class("Todo", C), collection_adder(C, Collection, Adder). +=====result +[{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] +=====query +subject_class("Todo", C), collection_remover(C, Collection, Remover). +=====result +[{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), collection_setter(C, Collection, Setter). +=====result +[{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====query +subject_class(Class, C), property(C, "state"), property(C, "title"), property(C, "isLiked"), property_setter(C, "state", _), property_setter(C, "title", _), collection_adder(C, "commentss", _), collection_adder(C, "entriess", _), collection_adder(C, "messagess", _), collection_adder(C, "likedMessagess", _), collection_remover(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "messagess", _), collection_remover(C, "likedMessagess", _), collection_setter(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "messagess", _), collection_setter(C, "likedMessagess", _). +=====result +[{"C":"c","Class":"Todo"}] +=====query +subject_class("Todo", C), instance(C, "literal://string:Decorated%20class%20construction%20test"). +=====result +[{"C":"c"}] +=====query +subject_class(Class, C), property(C, "state"), property(C, "title"), property(C, "isLiked"), property_setter(C, "state", _), property_setter(C, "title", _), collection_adder(C, "commentss", _), collection_adder(C, "entriess", _), collection_adder(C, "messagess", _), collection_adder(C, "likedMessagess", _), collection_remover(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "messagess", _), collection_remover(C, "likedMessagess", _), collection_setter(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "messagess", _), collection_setter(C, "likedMessagess", _). +=====result +[{"C":"c","Class":"Todo"}] +=====query +subject_class("Todo", C), instance(C, "literal://string:Decorated%20class%20construction%20test"). +=====result +[{"C":"c"}] +=====query +subject_class(Class, C), property(C, "state"), property(C, "title"), property(C, "isLiked"), property_setter(C, "state", _), property_setter(C, "title", _), collection_adder(C, "commentss", _), collection_adder(C, "entriess", _), collection_adder(C, "messagess", _), collection_adder(C, "likedMessagess", _), collection_remover(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "messagess", _), collection_remover(C, "likedMessagess", _), collection_setter(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "messagess", _), collection_setter(C, "likedMessagess", _). +=====result +[{"C":"c","Class":"Todo"}] +=====query +subject_class("Todo", C), instance(C, "literal://string:Decorated%20class%20construction%20test"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property(C, Property). +=====result +[{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] +=====query +subject_class("Todo", C), property_resolve(C, "state"). +=====result +false +=====query +subject_class("Todo", C), property_resolve(C, "title"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====query +subject_class("Todo", C), property_setter(C, Property, Setter). +=====result +[{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), property_resolve_language(C, "state", Language). +=====result +false +=====query +subject_class("Todo", C), property_resolve_language(C, "title", Language). +=====result +[{"C":"c","Language":"literal"}] +=====query +subject_class("Todo", C), collection(C, Collection). +=====result +[{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] +=====query +subject_class("Todo", C), collection_adder(C, Collection, Adder). +=====result +[{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] +=====query +subject_class("Todo", C), collection_remover(C, Collection, Remover). +=====result +[{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), collection_setter(C, Collection, Setter). +=====result +[{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), property_getter(C, "literal://string:Decorated%20class%20construction%20test", "state", Value). +=====result +[{"C":"c","Value":"todo://ready"}] +=====query +subject_class("Todo", C), property_getter(C, "literal://string:Decorated%20class%20construction%20test", "title", Value). +=====result +false +=====query +subject_class("Todo", C), collection_getter(C, "literal://string:Decorated%20class%20construction%20test", "comments", Value). +=====result +[{"C":"c","Value":[""]}] +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +=====query +subject_class("Todo", C), property_getter(C, "literal://string:Decorated%20class%20construction%20test", "state", Value). +=====result +[{"C":"c","Value":"todo://review"}] +=====query +subject_class("Todo", C), collection_getter(C, "literal://string:Decorated%20class%20construction%20test", "comments", Value). +=====result +[{"C":"c","Value":[""]}] +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +languageAddress("literal://string:new%20comment", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +languageName("literal://string:new%20comment", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +expressionAddress("literal://string:new%20comment", "string:new%20comment"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +=====query +subject_class("Todo", C), collection_getter(C, "literal://string:Decorated%20class%20construction%20test", "comments", Value). +=====result +[{"C":"c","Value":["literal://string:new%20comment"]}] +=====query +subject_class("Todo", C), instance(C, Instance). +=====result +[{"C":"c","Instance":"literal://string:get%20proxy%20test"},{"C":"c","Instance":"literal://string:construct%20test"},{"C":"c","Instance":"literal://string:Decorated%20class%20construction%20test"}] +=====query +subject_class("Todo", C), instance(C, "literal://string:get%20proxy%20test"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property(C, Property). +=====result +[{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] +=====query +subject_class("Todo", C), property_resolve(C, "state"). +=====result +false +=====query +subject_class("Todo", C), property_resolve(C, "title"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====query +subject_class("Todo", C), property_setter(C, Property, Setter). +=====result +[{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), property_resolve_language(C, "state", Language). +=====result +false +=====query +subject_class("Todo", C), property_resolve_language(C, "title", Language). +=====result +[{"C":"c","Language":"literal"}] +=====query +subject_class("Todo", C), collection(C, Collection). +=====result +[{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] +=====query +subject_class("Todo", C), collection_adder(C, Collection, Adder). +=====result +[{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] +=====query +subject_class("Todo", C), collection_remover(C, Collection, Remover). +=====result +[{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), collection_setter(C, Collection, Setter). +=====result +[{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), instance(C, "literal://string:construct%20test"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property(C, Property). +=====result +[{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] +=====query +subject_class("Todo", C), property_resolve(C, "state"). +=====result +false +=====query +subject_class("Todo", C), property_resolve(C, "title"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====query +subject_class("Todo", C), property_setter(C, Property, Setter). +=====result +[{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), property_resolve_language(C, "state", Language). +=====result +false +=====query +subject_class("Todo", C), property_resolve_language(C, "title", Language). +=====result +[{"C":"c","Language":"literal"}] +=====query +subject_class("Todo", C), collection(C, Collection). +=====result +[{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] +=====query +subject_class("Todo", C), collection_adder(C, Collection, Adder). +=====result +[{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] +=====query +subject_class("Todo", C), collection_remover(C, Collection, Remover). +=====result +[{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), collection_setter(C, Collection, Setter). +=====result +[{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), instance(C, "literal://string:Decorated%20class%20construction%20test"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property(C, Property). +=====result +[{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] +=====query +subject_class("Todo", C), property_resolve(C, "state"). +=====result +false +=====query +subject_class("Todo", C), property_resolve(C, "title"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====query +subject_class("Todo", C), property_setter(C, Property, Setter). +=====result +[{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), property_resolve_language(C, "state", Language). +=====result +false +=====query +subject_class("Todo", C), property_resolve_language(C, "title", Language). +=====result +[{"C":"c","Language":"literal"}] +=====query +subject_class("Todo", C), collection(C, Collection). +=====result +[{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] +=====query +subject_class("Todo", C), collection_adder(C, Collection, Adder). +=====result +[{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] +=====query +subject_class("Todo", C), collection_remover(C, Collection, Remover). +=====result +[{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), collection_setter(C, Collection, Setter). +=====result +[{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), instance(C, Instance), property_getter(C, Instance, "state", "todo://ready"). +=====result +[{"C":"c","Instance":"literal://string:get%20proxy%20test"}] +=====query +subject_class("Todo", C), instance(C, "literal://string:get%20proxy%20test"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property(C, Property). +=====result +[{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] +=====query +subject_class("Todo", C), property_resolve(C, "state"). +=====result +false +=====query +subject_class("Todo", C), property_resolve(C, "title"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====query +subject_class("Todo", C), property_setter(C, Property, Setter). +=====result +[{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), property_resolve_language(C, "state", Language). +=====result +false +=====query +subject_class("Todo", C), property_resolve_language(C, "title", Language). +=====result +[{"C":"c","Language":"literal"}] +=====query +subject_class("Todo", C), collection(C, Collection). +=====result +[{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] +=====query +subject_class("Todo", C), collection_adder(C, Collection, Adder). +=====result +[{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] +=====query +subject_class("Todo", C), collection_remover(C, Collection, Remover). +=====result +[{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), collection_setter(C, Collection, Setter). +=====result +[{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), property_getter(C, "literal://string:get%20proxy%20test", "state", Value). +=====result +[{"C":"c","Value":"todo://ready"}] +=====query +subject_class("Todo", C), instance(C, Instance), property_getter(C, Instance, "state", "todo://done"). +=====result +[{"C":"c","Instance":"literal://string:construct%20test"}] +=====query +subject_class("Todo", C), instance(C, "literal://string:construct%20test"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property(C, Property). +=====result +[{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] +=====query +subject_class("Todo", C), property_resolve(C, "state"). +=====result +false +=====query +subject_class("Todo", C), property_resolve(C, "title"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====query +subject_class("Todo", C), property_setter(C, Property, Setter). +=====result +[{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), property_resolve_language(C, "state", Language). +=====result +false +=====query +subject_class("Todo", C), property_resolve_language(C, "title", Language). +=====result +[{"C":"c","Language":"literal"}] +=====query +subject_class("Todo", C), collection(C, Collection). +=====result +[{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] +=====query +subject_class("Todo", C), collection_adder(C, Collection, Adder). +=====result +[{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] +=====query +subject_class("Todo", C), collection_remover(C, Collection, Remover). +=====result +[{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), collection_setter(C, Collection, Setter). +=====result +[{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), property_getter(C, "literal://string:construct%20test", "state", Value). +=====result +[{"C":"c","Value":"todo://done"}] +=====query +subject_class("Todo", C), instance(C, Instance), triple("ad4m://self", _, Instance). +=====result +false +=====query +subject_class("Todo", C), instance(C, Instance). +=====result +[{"C":"c","Instance":"literal://string:get%20proxy%20test"},{"C":"c","Instance":"literal://string:construct%20test"},{"C":"c","Instance":"literal://string:Decorated%20class%20construction%20test"}] +=====query +subject_class("Todo", C), instance(C, "literal://string:get%20proxy%20test"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property(C, Property). +=====result +[{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] +=====query +subject_class("Todo", C), property_resolve(C, "state"). +=====result +false +=====query +subject_class("Todo", C), property_resolve(C, "title"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====query +subject_class("Todo", C), property_setter(C, Property, Setter). +=====result +[{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), property_resolve_language(C, "state", Language). +=====result +false +=====query +subject_class("Todo", C), property_resolve_language(C, "title", Language). +=====result +[{"C":"c","Language":"literal"}] +=====query +subject_class("Todo", C), collection(C, Collection). +=====result +[{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] +=====query +subject_class("Todo", C), collection_adder(C, Collection, Adder). +=====result +[{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] +=====query +subject_class("Todo", C), collection_remover(C, Collection, Remover). +=====result +[{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), collection_setter(C, Collection, Setter). +=====result +[{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), instance(C, "literal://string:construct%20test"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property(C, Property). +=====result +[{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] +=====query +subject_class("Todo", C), property_resolve(C, "state"). +=====result +false +=====query +subject_class("Todo", C), property_resolve(C, "title"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====query +subject_class("Todo", C), property_setter(C, Property, Setter). +=====result +[{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), property_resolve_language(C, "state", Language). +=====result +false +=====query +subject_class("Todo", C), property_resolve_language(C, "title", Language). +=====result +[{"C":"c","Language":"literal"}] +=====query +subject_class("Todo", C), collection(C, Collection). +=====result +[{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] +=====query +subject_class("Todo", C), collection_adder(C, Collection, Adder). +=====result +[{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] +=====query +subject_class("Todo", C), collection_remover(C, Collection, Remover). +=====result +[{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), collection_setter(C, Collection, Setter). +=====result +[{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), instance(C, "literal://string:Decorated%20class%20construction%20test"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property(C, Property). +=====result +[{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] +=====query +subject_class("Todo", C), property_resolve(C, "state"). +=====result +false +=====query +subject_class("Todo", C), property_resolve(C, "title"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====query +subject_class("Todo", C), property_setter(C, Property, Setter). +=====result +[{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), property_resolve_language(C, "state", Language). +=====result +false +=====query +subject_class("Todo", C), property_resolve_language(C, "title", Language). +=====result +[{"C":"c","Language":"literal"}] +=====query +subject_class("Todo", C), collection(C, Collection). +=====result +[{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] +=====query +subject_class("Todo", C), collection_adder(C, Collection, Adder). +=====result +[{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] +=====query +subject_class("Todo", C), collection_remover(C, Collection, Remover). +=====result +[{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), collection_setter(C, Collection, Setter). +=====result +[{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). +triple("ad4m://self", "", "literal://string:get%20proxy%20test"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +languageAddress("literal://string:new%20comment", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +languageName("literal://string:new%20comment", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +expressionAddress("literal://string:new%20comment", "string:new%20comment"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +=====query +subject_class("Todo", C), instance(C, Instance), triple("ad4m://self", _, Instance). +=====result +[{"C":"c","Instance":"literal://string:get%20proxy%20test"}] +=====query +subject_class("Todo", C), instance(C, "literal://string:get%20proxy%20test"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property(C, Property). +=====result +[{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] +=====query +subject_class("Todo", C), property_resolve(C, "state"). +=====result +false +=====query +subject_class("Todo", C), property_resolve(C, "title"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====query +subject_class("Todo", C), property_setter(C, Property, Setter). +=====result +[{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), property_resolve_language(C, "state", Language). +=====result +false +=====query +subject_class("Todo", C), property_resolve_language(C, "title", Language). +=====result +[{"C":"c","Language":"literal"}] +=====query +subject_class("Todo", C), collection(C, Collection). +=====result +[{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] +=====query +subject_class("Todo", C), collection_adder(C, Collection, Adder). +=====result +[{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] +=====query +subject_class("Todo", C), collection_remover(C, Collection, Remover). +=====result +[{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), collection_setter(C, Collection, Setter). +=====result +[{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), instance(C, Instance). +=====result +[{"C":"c","Instance":"literal://string:get%20proxy%20test"},{"C":"c","Instance":"literal://string:construct%20test"},{"C":"c","Instance":"literal://string:Decorated%20class%20construction%20test"}] +=====query +subject_class("Todo", C), instance(C, "literal://string:get%20proxy%20test"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property(C, Property). +=====result +[{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] +=====query +subject_class("Todo", C), property_resolve(C, "state"). +=====result +false +=====query +subject_class("Todo", C), property_resolve(C, "title"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====query +subject_class("Todo", C), property_setter(C, Property, Setter). +=====result +[{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), property_resolve_language(C, "state", Language). +=====result +false +=====query +subject_class("Todo", C), property_resolve_language(C, "title", Language). +=====result +[{"C":"c","Language":"literal"}] +=====query +subject_class("Todo", C), collection(C, Collection). +=====result +[{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] +=====query +subject_class("Todo", C), collection_adder(C, Collection, Adder). +=====result +[{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] +=====query +subject_class("Todo", C), collection_remover(C, Collection, Remover). +=====result +[{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), collection_setter(C, Collection, Setter). +=====result +[{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), instance(C, "literal://string:construct%20test"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property(C, Property). +=====result +[{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] +=====query +subject_class("Todo", C), property_resolve(C, "state"). +=====result +false +=====query +subject_class("Todo", C), property_resolve(C, "title"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====query +subject_class("Todo", C), property_setter(C, Property, Setter). +=====result +[{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), property_resolve_language(C, "state", Language). +=====result +false +=====query +subject_class("Todo", C), property_resolve_language(C, "title", Language). +=====result +[{"C":"c","Language":"literal"}] +=====query +subject_class("Todo", C), collection(C, Collection). +=====result +[{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] +=====query +subject_class("Todo", C), collection_adder(C, Collection, Adder). +=====result +[{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] +=====query +subject_class("Todo", C), collection_remover(C, Collection, Remover). +=====result +[{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), collection_setter(C, Collection, Setter). +=====result +[{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), instance(C, "literal://string:Decorated%20class%20construction%20test"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property(C, Property). +=====result +[{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] +=====query +subject_class("Todo", C), property_resolve(C, "state"). +=====result +false +=====query +subject_class("Todo", C), property_resolve(C, "title"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====query +subject_class("Todo", C), property_setter(C, Property, Setter). +=====result +[{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), property_resolve_language(C, "state", Language). +=====result +false +=====query +subject_class("Todo", C), property_resolve_language(C, "title", Language). +=====result +[{"C":"c","Language":"literal"}] +=====query +subject_class("Todo", C), collection(C, Collection). +=====result +[{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] +=====query +subject_class("Todo", C), collection_adder(C, Collection, Adder). +=====result +[{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] +=====query +subject_class("Todo", C), collection_remover(C, Collection, Remover). +=====result +[{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), collection_setter(C, Collection, Setter). +=====result +[{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), property_getter(C, "literal://string:get%20proxy%20test", "title", Value). +=====result +false +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). +triple("ad4m://self", "", "literal://string:get%20proxy%20test"). +triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +languageAddress("literal://string:new%20comment", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +languageName("literal://string:new%20comment", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +expressionAddress("literal://string:new%20comment", "string:new%20comment"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +=====query +subject_class("Todo", C), property_getter(C, "literal://string:get%20proxy%20test", "title", Value). +=====result +[{"C":"c","Value":"literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"}] +=====query +subject_class(Class, C), property(C, "number"). +=====result +false +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). +triple("ad4m://self", "", "literal://string:get%20proxy%20test"). +triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +languageAddress("literal://string:new%20comment", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:Test", "literal"). +languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +languageName("literal://string:new%20comment", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:Test", "literal"). +languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +expressionAddress("literal://string:new%20comment", "string:new%20comment"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:Test", "string:Test"). +expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +subject_class("Test", srksdbln). +constructor(srksdbln, '[]'). +destructor(srksdbln, '[]'). + +property(srksdbln, "number"). +property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +=====query +subject_class(Class, C), property(C, "state"), property(C, "title"), property(C, "isLiked"), property_setter(C, "state", _), property_setter(C, "title", _), collection_adder(C, "commentss", _), collection_adder(C, "entriess", _), collection_adder(C, "messagess", _), collection_adder(C, "likedMessagess", _), collection_remover(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "messagess", _), collection_remover(C, "likedMessagess", _), collection_setter(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "messagess", _), collection_setter(C, "likedMessagess", _). +=====result +[{"C":"c","Class":"Todo"}] +=====query +subject_class("Todo", C), constructor(C, Actions). +=====result +[{"Actions":"[{action: \"addLink\", source: \"this\", predicate: \"todo://state\", target: \"todo://ready\"}]","C":"c"}] +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). +triple("ad4m://self", "", "literal://string:get%20proxy%20test"). +triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +languageAddress("literal://string:new%20comment", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:Test", "literal"). +languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +languageName("literal://string:new%20comment", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:Test", "literal"). +languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +expressionAddress("literal://string:new%20comment", "string:new%20comment"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:Test", "string:Test"). +expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +subject_class("Test", srksdbln). +constructor(srksdbln, '[]'). +destructor(srksdbln, '[]'). + +property(srksdbln, "number"). +property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +=====query +subject_class(Class, C), property(C, "state"), property(C, "title"), property(C, "isLiked"), property_setter(C, "state", _), property_setter(C, "title", _), collection_adder(C, "commentss", _), collection_adder(C, "entriess", _), collection_adder(C, "messagess", _), collection_adder(C, "likedMessagess", _), collection_remover(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "messagess", _), collection_remover(C, "likedMessagess", _), collection_setter(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "messagess", _), collection_setter(C, "likedMessagess", _). +=====result +[{"C":"c","Class":"Todo"}] +=====query +subject_class("Todo", C), instance(C, "literal://string:Collection%20where%20test%20with%20prolog%20condition"). +=====result +[{"C":"c"}] +=====query +subject_class(Class, C), property(C, "state"), property(C, "title"), property(C, "isLiked"), property_setter(C, "state", _), property_setter(C, "title", _), collection_adder(C, "commentss", _), collection_adder(C, "entriess", _), collection_adder(C, "messagess", _), collection_adder(C, "likedMessagess", _), collection_remover(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "messagess", _), collection_remover(C, "likedMessagess", _), collection_setter(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "messagess", _), collection_setter(C, "likedMessagess", _). +=====result +[{"C":"c","Class":"Todo"}] +=====query +subject_class("Todo", C), instance(C, "literal://string:Collection%20where%20test%20with%20prolog%20condition"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property(C, Property). +=====result +[{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] +=====query +subject_class("Todo", C), property_resolve(C, "state"). +=====result +false +=====query +subject_class("Todo", C), property_resolve(C, "title"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====query +subject_class("Todo", C), property_setter(C, Property, Setter). +=====result +[{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), property_resolve_language(C, "state", Language). +=====result +false +=====query +subject_class("Todo", C), property_resolve_language(C, "title", Language). +=====result +[{"C":"c","Language":"literal"}] +=====query +subject_class("Todo", C), collection(C, Collection). +=====result +[{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] +=====query +subject_class("Todo", C), collection_adder(C, Collection, Adder). +=====result +[{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] +=====query +subject_class("Todo", C), collection_remover(C, Collection, Remover). +=====result +[{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), collection_setter(C, Collection, Setter). +=====result +[{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). +triple("ad4m://self", "", "literal://string:get%20proxy%20test"). +triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +languageAddress("literal://string:new%20comment", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:Test", "literal"). +languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageAddress("literal://string:test%20message", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +languageName("literal://string:new%20comment", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:Test", "literal"). +languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageName("literal://string:test%20message", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +expressionAddress("literal://string:new%20comment", "string:new%20comment"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:Test", "string:Test"). +expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). +expressionAddress("literal://string:test%20message", "string:test%20message"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +subject_class("Test", srksdbln). +constructor(srksdbln, '[]'). +destructor(srksdbln, '[]'). + +property(srksdbln, "number"). +property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +=====query +subject_class("Todo", C), collection_getter(C, "literal://string:Collection%20where%20test%20with%20prolog%20condition", "entries", Value). +=====result +[{"C":"c","Value":["literal://string:test%20message"]}] +=====query +subject_class("Todo", C), collection_getter(C, "literal://string:Collection%20where%20test%20with%20prolog%20condition", "likedMessages", Value). +=====result +false +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). +triple("ad4m://self", "", "literal://string:get%20proxy%20test"). +triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +languageAddress("literal://string:new%20comment", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:Test", "literal"). +languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageAddress("literal://string:test%20message", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +languageName("literal://string:new%20comment", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:Test", "literal"). +languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageName("literal://string:test%20message", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +expressionAddress("literal://string:new%20comment", "string:new%20comment"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:Test", "string:Test"). +expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). +expressionAddress("literal://string:test%20message", "string:test%20message"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +subject_class("Test", srksdbln). +constructor(srksdbln, '[]'). +destructor(srksdbln, '[]'). + +property(srksdbln, "number"). +property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +=====query +subject_class("Todo", C), collection_getter(C, "literal://string:Collection%20where%20test%20with%20prolog%20condition", "likedMessages", Value). +=====result +[{"C":"c","Value":["literal://string:test%20message"]}] +=====query +subject_class(Class, C), property(C, "state"), property(C, "title"), property(C, "isLiked"), property_setter(C, "state", _), property_setter(C, "title", _), collection_adder(C, "commentss", _), collection_adder(C, "entriess", _), collection_adder(C, "messagess", _), collection_adder(C, "likedMessagess", _), collection_remover(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "messagess", _), collection_remover(C, "likedMessagess", _), collection_setter(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "messagess", _), collection_setter(C, "likedMessagess", _). +=====result +[{"C":"c","Class":"Todo"}] +=====query +subject_class("Todo", C), constructor(C, Actions). +=====result +[{"Actions":"[{action: \"addLink\", source: \"this\", predicate: \"todo://state\", target: \"todo://ready\"}]","C":"c"}] +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). +triple("ad4m://self", "", "literal://string:get%20proxy%20test"). +triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +languageAddress("literal://string:new%20comment", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:Test", "literal"). +languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageAddress("literal://string:test%20message", "literal"). +languageAddress("literal://string:Custom%20getter%20test", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +languageName("literal://string:new%20comment", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:Test", "literal"). +languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageName("literal://string:test%20message", "literal"). +languageName("literal://string:Custom%20getter%20test", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +expressionAddress("literal://string:new%20comment", "string:new%20comment"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:Test", "string:Test"). +expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). +expressionAddress("literal://string:test%20message", "string:test%20message"). +expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +subject_class("Test", srksdbln). +constructor(srksdbln, '[]'). +destructor(srksdbln, '[]'). + +property(srksdbln, "number"). +property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +=====query +subject_class(Class, C), property(C, "state"), property(C, "title"), property(C, "isLiked"), property_setter(C, "state", _), property_setter(C, "title", _), collection_adder(C, "commentss", _), collection_adder(C, "entriess", _), collection_adder(C, "messagess", _), collection_adder(C, "likedMessagess", _), collection_remover(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "messagess", _), collection_remover(C, "likedMessagess", _), collection_setter(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "messagess", _), collection_setter(C, "likedMessagess", _). +=====result +[{"C":"c","Class":"Todo"}] +=====query +subject_class("Todo", C), instance(C, "literal://string:Custom%20getter%20test"). +=====result +[{"C":"c"}] +=====query +subject_class(Class, C), property(C, "state"), property(C, "title"), property(C, "isLiked"), property_setter(C, "state", _), property_setter(C, "title", _), collection_adder(C, "commentss", _), collection_adder(C, "entriess", _), collection_adder(C, "messagess", _), collection_adder(C, "likedMessagess", _), collection_remover(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "messagess", _), collection_remover(C, "likedMessagess", _), collection_setter(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "messagess", _), collection_setter(C, "likedMessagess", _). +=====result +[{"C":"c","Class":"Todo"}] +=====query +subject_class("Todo", C), instance(C, "literal://string:Custom%20getter%20test"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property(C, Property). +=====result +[{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] +=====query +subject_class("Todo", C), property_resolve(C, "state"). +=====result +false +=====query +subject_class("Todo", C), property_resolve(C, "title"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====query +subject_class("Todo", C), property_setter(C, Property, Setter). +=====result +[{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), property_resolve_language(C, "state", Language). +=====result +false +=====query +subject_class("Todo", C), property_resolve_language(C, "title", Language). +=====result +[{"C":"c","Language":"literal"}] +=====query +subject_class("Todo", C), collection(C, Collection). +=====result +[{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] +=====query +subject_class("Todo", C), collection_adder(C, Collection, Adder). +=====result +[{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] +=====query +subject_class("Todo", C), collection_remover(C, Collection, Remover). +=====result +[{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), collection_setter(C, Collection, Setter). +=====result +[{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), property_getter(C, "literal://string:Custom%20getter%20test", "isLiked", Value). +=====result +false +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). +triple("ad4m://self", "", "literal://string:get%20proxy%20test"). +triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). +triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +languageAddress("literal://string:new%20comment", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:Test", "literal"). +languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageAddress("literal://string:test%20message", "literal"). +languageAddress("literal://string:Custom%20getter%20test", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +languageName("literal://string:new%20comment", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:Test", "literal"). +languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageName("literal://string:test%20message", "literal"). +languageName("literal://string:Custom%20getter%20test", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +expressionAddress("literal://string:new%20comment", "string:new%20comment"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:Test", "string:Test"). +expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). +expressionAddress("literal://string:test%20message", "string:test%20message"). +expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +subject_class("Test", srksdbln). +constructor(srksdbln, '[]'). +destructor(srksdbln, '[]'). + +property(srksdbln, "number"). +property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +=====query +subject_class("Todo", C), property_getter(C, "literal://string:Custom%20getter%20test", "isLiked", Value). +=====result +[{"C":"c","Value":true}] +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). +triple("ad4m://self", "", "literal://string:get%20proxy%20test"). +triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). +triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +triple("test://message", "ad4m://type", "ad4m://undefined"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +languageAddress("literal://string:new%20comment", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:Test", "literal"). +languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageAddress("literal://string:test%20message", "literal"). +languageAddress("literal://string:Custom%20getter%20test", "literal"). +languageAddress("literal://string:Message", "literal"). +languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +languageName("literal://string:new%20comment", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:Test", "literal"). +languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageName("literal://string:test%20message", "literal"). +languageName("literal://string:Custom%20getter%20test", "literal"). +languageName("literal://string:Message", "literal"). +languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +expressionAddress("literal://string:new%20comment", "string:new%20comment"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:Test", "string:Test"). +expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). +expressionAddress("literal://string:test%20message", "string:test%20message"). +expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). +expressionAddress("literal://string:Message", "string:Message"). +expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +subject_class("Test", srksdbln). +constructor(srksdbln, '[]'). +destructor(srksdbln, '[]'). + +property(srksdbln, "number"). +property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", mqvvfluy). +constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(mqvvfluy, "type"). +property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(mqvvfluy, "body"). +property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +=====query +subject_class("Message", C), instance(C, Instance). +=====result +false +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). +triple("ad4m://self", "", "literal://string:get%20proxy%20test"). +triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). +triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +triple("test://message", "ad4m://type", "ad4m://undefined"). +triple("test://message", "ad4m://type", "ad4m://message"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +languageAddress("literal://string:new%20comment", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:Test", "literal"). +languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageAddress("literal://string:test%20message", "literal"). +languageAddress("literal://string:Custom%20getter%20test", "literal"). +languageAddress("literal://string:Message", "literal"). +languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +languageName("literal://string:new%20comment", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:Test", "literal"). +languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageName("literal://string:test%20message", "literal"). +languageName("literal://string:Custom%20getter%20test", "literal"). +languageName("literal://string:Message", "literal"). +languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +expressionAddress("literal://string:new%20comment", "string:new%20comment"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:Test", "string:Test"). +expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). +expressionAddress("literal://string:test%20message", "string:test%20message"). +expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). +expressionAddress("literal://string:Message", "string:Message"). +expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +subject_class("Test", srksdbln). +constructor(srksdbln, '[]'). +destructor(srksdbln, '[]'). + +property(srksdbln, "number"). +property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", mqvvfluy). +constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(mqvvfluy, "type"). +property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(mqvvfluy, "body"). +property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +=====query +subject_class("Message", C), instance(C, Instance). +=====result +[{"C":"mqvvfluy","Instance":"test://message"}] +=====query +subject_class("Message", C), instance(C, "test://message"). +=====result +[{"C":"mqvvfluy"}] +=====query +subject_class("Message", C), property(C, Property). +=====result +[{"C":"mqvvfluy","Property":"type"},{"C":"mqvvfluy","Property":"body"}] +=====query +subject_class("Message", C), property_resolve(C, "type"). +=====result +false +=====query +subject_class("Message", C), property_resolve(C, "body"). +=====result +false +=====query +subject_class("Message", C), property_setter(C, Property, Setter). +=====result +[{"C":"mqvvfluy","Property":"body","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"}] +=====query +subject_class("Message", C), property_resolve_language(C, "body", Language). +=====result +false +=====query +subject_class("Message", C), collection(C, Collection). +=====result +false +=====query +subject_class("Message", C), collection_adder(C, Collection, Adder). +=====result +false +=====query +subject_class("Message", C), collection_remover(C, Collection, Remover). +=====result +false +=====query +subject_class("Message", C), collection_setter(C, Collection, Setter). +=====result +false +=====query +subject_class(Class, C), property(C, "state"), property(C, "title"), property(C, "isLiked"), property_setter(C, "state", _), property_setter(C, "title", _), collection_adder(C, "commentss", _), collection_adder(C, "entriess", _), collection_adder(C, "messagess", _), collection_adder(C, "likedMessagess", _), collection_remover(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "messagess", _), collection_remover(C, "likedMessagess", _), collection_setter(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "messagess", _), collection_setter(C, "likedMessagess", _). +=====result +[{"C":"c","Class":"Todo"}] +=====query +subject_class("Todo", C), constructor(C, Actions). +=====result +[{"Actions":"[{action: \"addLink\", source: \"this\", predicate: \"todo://state\", target: \"todo://ready\"}]","C":"c"}] +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). +triple("ad4m://self", "", "literal://string:get%20proxy%20test"). +triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). +triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +triple("test://message", "ad4m://type", "ad4m://undefined"). +triple("test://message", "ad4m://type", "ad4m://message"). +triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +languageAddress("literal://string:new%20comment", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:Test", "literal"). +languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageAddress("literal://string:test%20message", "literal"). +languageAddress("literal://string:Custom%20getter%20test", "literal"). +languageAddress("literal://string:Message", "literal"). +languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +languageName("literal://string:new%20comment", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:Test", "literal"). +languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageName("literal://string:test%20message", "literal"). +languageName("literal://string:Custom%20getter%20test", "literal"). +languageName("literal://string:Message", "literal"). +languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +expressionAddress("literal://string:new%20comment", "string:new%20comment"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:Test", "string:Test"). +expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). +expressionAddress("literal://string:test%20message", "string:test%20message"). +expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). +expressionAddress("literal://string:Message", "string:Message"). +expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +subject_class("Test", srksdbln). +constructor(srksdbln, '[]'). +destructor(srksdbln, '[]'). + +property(srksdbln, "number"). +property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", mqvvfluy). +constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(mqvvfluy, "type"). +property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(mqvvfluy, "body"). +property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +=====query +subject_class(Class, C), property(C, "state"), property(C, "title"), property(C, "isLiked"), property_setter(C, "state", _), property_setter(C, "title", _), collection_adder(C, "commentss", _), collection_adder(C, "entriess", _), collection_adder(C, "messagess", _), collection_adder(C, "likedMessagess", _), collection_remover(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "messagess", _), collection_remover(C, "likedMessagess", _), collection_setter(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "messagess", _), collection_setter(C, "likedMessagess", _). +=====result +[{"C":"c","Class":"Todo"}] +=====query +subject_class("Todo", C), instance(C, "literal://string:Collection%20where%20test"). +=====result +[{"C":"c"}] +=====query +subject_class(Class, C), property(C, "state"), property(C, "title"), property(C, "isLiked"), property_setter(C, "state", _), property_setter(C, "title", _), collection_adder(C, "commentss", _), collection_adder(C, "entriess", _), collection_adder(C, "messagess", _), collection_adder(C, "likedMessagess", _), collection_remover(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "messagess", _), collection_remover(C, "likedMessagess", _), collection_setter(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "messagess", _), collection_setter(C, "likedMessagess", _). +=====result +[{"C":"c","Class":"Todo"}] +=====query +subject_class("Todo", C), instance(C, "literal://string:Collection%20where%20test"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property(C, Property). +=====result +[{"C":"c","Property":"state"},{"C":"c","Property":"title"},{"C":"c","Property":"isLiked"}] +=====query +subject_class("Todo", C), property_resolve(C, "state"). +=====result +false +=====query +subject_class("Todo", C), property_resolve(C, "title"). +=====result +[{"C":"c"}] +=====query +subject_class("Todo", C), property_resolve(C, "isLiked"). +=====result +false +=====query +subject_class("Todo", C), property_setter(C, Property, Setter). +=====result +[{"C":"c","Property":"state","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"},{"C":"c","Property":"title","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://has_title\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), property_resolve_language(C, "state", Language). +=====result +false +=====query +subject_class("Todo", C), property_resolve_language(C, "title", Language). +=====result +[{"C":"c","Language":"literal"}] +=====query +subject_class("Todo", C), collection(C, Collection). +=====result +[{"C":"c","Collection":"comments"},{"C":"c","Collection":"entries"},{"C":"c","Collection":"messages"},{"C":"c","Collection":"likedMessages"}] +=====query +subject_class("Todo", C), collection_adder(C, Collection, Adder). +=====result +[{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]","C":"c","Collection":"commentss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"messagess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]","C":"c","Collection":"likedMessagess"}] +=====query +subject_class("Todo", C), collection_remover(C, Collection, Remover). +=====result +[{"C":"c","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====query +subject_class("Todo", C), collection_setter(C, Collection, Setter). +=====result +[{"C":"c","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"todo://comment\", target: \"value\"}]"},{"C":"c","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"messagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"},{"C":"c","Collection":"likedMessagess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"flux://entry_type\", target: \"value\"}]"}] +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). +triple("ad4m://self", "", "literal://string:get%20proxy%20test"). +triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). +triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +triple("test://message", "ad4m://type", "ad4m://undefined"). +triple("test://message", "ad4m://type", "ad4m://message"). +triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +languageAddress("literal://string:new%20comment", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:Test", "literal"). +languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageAddress("literal://string:test%20message", "literal"). +languageAddress("literal://string:Custom%20getter%20test", "literal"). +languageAddress("literal://string:Message", "literal"). +languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +languageName("literal://string:new%20comment", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:Test", "literal"). +languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageName("literal://string:test%20message", "literal"). +languageName("literal://string:Custom%20getter%20test", "literal"). +languageName("literal://string:Message", "literal"). +languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +expressionAddress("literal://string:new%20comment", "string:new%20comment"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:Test", "string:Test"). +expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). +expressionAddress("literal://string:test%20message", "string:test%20message"). +expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). +expressionAddress("literal://string:Message", "string:Message"). +expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +subject_class("Test", srksdbln). +constructor(srksdbln, '[]'). +destructor(srksdbln, '[]'). + +property(srksdbln, "number"). +property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", mqvvfluy). +constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(mqvvfluy, "type"). +property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(mqvvfluy, "body"). +property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +=====query +subject_class("Todo", C), collection_getter(C, "literal://string:Collection%20where%20test", "entries", Value). +=====result +[{"C":"c","Value":["literal://string:test%20message"]}] +=====query +subject_class("Todo", C), collection_getter(C, "literal://string:Collection%20where%20test", "messages", Value). +=====result +false +=====query +subject_class(Class, C), property(C, "type"), property(C, "body"), property_setter(C, "body", _). +=====result +[{"C":"mqvvfluy","Class":"Message"}] +=====query +subject_class("Message", C), constructor(C, Actions). +=====result +[{"Actions":"[{action: \"addLink\", source: \"this\", predicate: \"ad4m://type\", target: \"ad4m://message\"}, {action: \"addLink\", source: \"this\", predicate: \"todo://state\", target: \"todo://ready\"}]","C":"mqvvfluy"}] +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). +triple("ad4m://self", "", "literal://string:get%20proxy%20test"). +triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). +triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +triple("test://message", "ad4m://type", "ad4m://undefined"). +triple("test://message", "ad4m://type", "ad4m://message"). +triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). +triple("literal://string:test%20message", "todo://state", "todo://ready"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +languageAddress("literal://string:new%20comment", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:Test", "literal"). +languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageAddress("literal://string:test%20message", "literal"). +languageAddress("literal://string:Custom%20getter%20test", "literal"). +languageAddress("literal://string:Message", "literal"). +languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +languageName("literal://string:new%20comment", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:Test", "literal"). +languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageName("literal://string:test%20message", "literal"). +languageName("literal://string:Custom%20getter%20test", "literal"). +languageName("literal://string:Message", "literal"). +languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +expressionAddress("literal://string:new%20comment", "string:new%20comment"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:Test", "string:Test"). +expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). +expressionAddress("literal://string:test%20message", "string:test%20message"). +expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). +expressionAddress("literal://string:Message", "string:Message"). +expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +subject_class("Test", srksdbln). +constructor(srksdbln, '[]'). +destructor(srksdbln, '[]'). + +property(srksdbln, "number"). +property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", mqvvfluy). +constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(mqvvfluy, "type"). +property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(mqvvfluy, "body"). +property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +=====query +subject_class(Class, C), property(C, "type"), property(C, "body"), property_setter(C, "body", _). +=====result +[{"C":"mqvvfluy","Class":"Message"}] +=====query +subject_class("Message", C), instance(C, "literal://string:test%20message"). +=====result +[{"C":"mqvvfluy"}] +=====query +subject_class(Class, C), property(C, "type"), property(C, "body"), property_setter(C, "body", _). +=====result +[{"C":"mqvvfluy","Class":"Message"}] +=====query +subject_class("Message", C), instance(C, "literal://string:test%20message"). +=====result +[{"C":"mqvvfluy"}] +=====query +subject_class("Message", C), property(C, Property). +=====result +[{"C":"mqvvfluy","Property":"type"},{"C":"mqvvfluy","Property":"body"}] +=====query +subject_class("Message", C), property_resolve(C, "type"). +=====result +false +=====query +subject_class("Message", C), property_resolve(C, "body"). +=====result +false +=====query +subject_class("Message", C), property_setter(C, Property, Setter). +=====result +[{"C":"mqvvfluy","Property":"body","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"todo://state\", target: \"value\"}]"}] +=====query +subject_class("Message", C), property_resolve_language(C, "body", Language). +=====result +false +=====query +subject_class("Message", C), collection(C, Collection). +=====result +false +=====query +subject_class("Message", C), collection_adder(C, Collection, Adder). +=====result +false +=====query +subject_class("Message", C), collection_remover(C, Collection, Remover). +=====result +false +=====query +subject_class("Message", C), collection_setter(C, Collection, Setter). +=====result +false +=====query +subject_class("Todo", C), collection_getter(C, "literal://string:Collection%20where%20test", "messages", Value). +=====result +[{"C":"c","Value":["literal://string:test%20message"]}] +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). +triple("ad4m://self", "", "literal://string:get%20proxy%20test"). +triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). +triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +triple("test://message", "ad4m://type", "ad4m://undefined"). +triple("test://message", "ad4m://type", "ad4m://message"). +triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). +triple("literal://string:test%20message", "todo://state", "todo://ready"). +triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +languageAddress("literal://string:new%20comment", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:Test", "literal"). +languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageAddress("literal://string:test%20message", "literal"). +languageAddress("literal://string:Custom%20getter%20test", "literal"). +languageAddress("literal://string:Message", "literal"). +languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test", "literal"). +languageAddress("literal://string:Recipe", "literal"). +languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +languageName("literal://string:new%20comment", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:Test", "literal"). +languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageName("literal://string:test%20message", "literal"). +languageName("literal://string:Custom%20getter%20test", "literal"). +languageName("literal://string:Message", "literal"). +languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test", "literal"). +languageName("literal://string:Recipe", "literal"). +languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +expressionAddress("literal://string:new%20comment", "string:new%20comment"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:Test", "string:Test"). +expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). +expressionAddress("literal://string:test%20message", "string:test%20message"). +expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). +expressionAddress("literal://string:Message", "string:Message"). +expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). +expressionAddress("literal://string:Recipe", "string:Recipe"). +expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +subject_class("Test", srksdbln). +constructor(srksdbln, '[]'). +destructor(srksdbln, '[]'). + +property(srksdbln, "number"). +property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", mqvvfluy). +constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(mqvvfluy, "type"). +property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(mqvvfluy, "body"). +property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", nzkpcwbu). +constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(nzkpcwbu, "type"). +property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(nzkpcwbu, "name"). +property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(nzkpcwbu, "local"). +property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(nzkpcwbu, "entries"). +collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "ingredients"). +collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "comments"). +collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). + +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class("Recipe", C), constructor(C, Actions). +=====result +[{"Actions":"[{action: \"addLink\", source: \"this\", predicate: \"ad4m://type\", target: \"ad4m://recipe\"}]","C":"nzkpcwbu"}] +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). +triple("ad4m://self", "", "literal://string:get%20proxy%20test"). +triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). +triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +triple("test://message", "ad4m://type", "ad4m://undefined"). +triple("test://message", "ad4m://type", "ad4m://message"). +triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). +triple("literal://string:test%20message", "todo://state", "todo://ready"). +triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706790532212, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +languageAddress("literal://string:new%20comment", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:Test", "literal"). +languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageAddress("literal://string:test%20message", "literal"). +languageAddress("literal://string:Custom%20getter%20test", "literal"). +languageAddress("literal://string:Message", "literal"). +languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test", "literal"). +languageAddress("literal://string:Recipe", "literal"). +languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +languageName("literal://string:new%20comment", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:Test", "literal"). +languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageName("literal://string:test%20message", "literal"). +languageName("literal://string:Custom%20getter%20test", "literal"). +languageName("literal://string:Message", "literal"). +languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test", "literal"). +languageName("literal://string:Recipe", "literal"). +languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:Active%20record%20implementation%20test", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +expressionAddress("literal://string:new%20comment", "string:new%20comment"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:Test", "string:Test"). +expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). +expressionAddress("literal://string:test%20message", "string:test%20message"). +expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). +expressionAddress("literal://string:Message", "string:Message"). +expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). +expressionAddress("literal://string:Recipe", "string:Recipe"). +expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +subject_class("Test", srksdbln). +constructor(srksdbln, '[]'). +destructor(srksdbln, '[]'). + +property(srksdbln, "number"). +property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", mqvvfluy). +constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(mqvvfluy, "type"). +property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(mqvvfluy, "body"). +property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", nzkpcwbu). +constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(nzkpcwbu, "type"). +property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(nzkpcwbu, "name"). +property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(nzkpcwbu, "local"). +property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(nzkpcwbu, "entries"). +collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "ingredients"). +collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "comments"). +collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). + +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test"). +=====result +[{"C":"nzkpcwbu"}] +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test"). +=====result +[{"C":"nzkpcwbu"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] +=====query +subject_class("Recipe", C), property_resolve(C, "type"). +=====result +false +=====query +subject_class("Recipe", C), property_resolve(C, "name"). +=====result +false +=====query +subject_class("Recipe", C), property_resolve(C, "local"). +=====result +false +=====query +subject_class("Recipe", C), property_setter(C, Property, Setter). +=====result +[{"C":"nzkpcwbu","Property":"name","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://name\", target: \"value\"}]"},{"C":"nzkpcwbu","Property":"local","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://local\", target: \"value\", local: true}]"}] +=====query +subject_class("Recipe", C), property_resolve_language(C, "name", Language). +=====result +false +=====query +subject_class("Recipe", C), property_resolve_language(C, "local", Language). +=====result +false +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] +=====query +subject_class("Recipe", C), collection_adder(C, Collection, Adder). +=====result +[{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]","C":"nzkpcwbu","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]","C":"nzkpcwbu","Collection":"ingredientss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]","C":"nzkpcwbu","Collection":"commentss"}] +=====query +subject_class("Recipe", C), collection_remover(C, Collection, Remover). +=====result +[{"C":"nzkpcwbu","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"nzkpcwbu","Collection":"ingredientss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"nzkpcwbu","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]"}] +=====query +subject_class("Recipe", C), collection_setter(C, Collection, Setter). +=====result +[{"C":"nzkpcwbu","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"nzkpcwbu","Collection":"ingredientss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"nzkpcwbu","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]"}] +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). +triple("ad4m://self", "", "literal://string:get%20proxy%20test"). +triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). +triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +triple("test://message", "ad4m://type", "ad4m://undefined"). +triple("test://message", "ad4m://type", "ad4m://message"). +triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). +triple("literal://string:test%20message", "todo://state", "todo://ready"). +triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706790532212, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +languageAddress("literal://string:new%20comment", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:Test", "literal"). +languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageAddress("literal://string:test%20message", "literal"). +languageAddress("literal://string:Custom%20getter%20test", "literal"). +languageAddress("literal://string:Message", "literal"). +languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test", "literal"). +languageAddress("literal://string:Recipe", "literal"). +languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +languageName("literal://string:new%20comment", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:Test", "literal"). +languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageName("literal://string:test%20message", "literal"). +languageName("literal://string:Custom%20getter%20test", "literal"). +languageName("literal://string:Message", "literal"). +languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test", "literal"). +languageName("literal://string:Recipe", "literal"). +languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:Active%20record%20implementation%20test", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +expressionAddress("literal://string:new%20comment", "string:new%20comment"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:Test", "string:Test"). +expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). +expressionAddress("literal://string:test%20message", "string:test%20message"). +expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). +expressionAddress("literal://string:Message", "string:Message"). +expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). +expressionAddress("literal://string:Recipe", "string:Recipe"). +expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +subject_class("Test", srksdbln). +constructor(srksdbln, '[]'). +destructor(srksdbln, '[]'). + +property(srksdbln, "number"). +property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", mqvvfluy). +constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(mqvvfluy, "type"). +property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(mqvvfluy, "body"). +property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", nzkpcwbu). +constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(nzkpcwbu, "type"). +property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(nzkpcwbu, "name"). +property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(nzkpcwbu, "local"). +property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(nzkpcwbu, "entries"). +collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "ingredients"). +collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "comments"). +collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). + +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class("Recipe", C), property_setter(C, "name", Setter). +=====result +[{"C":"nzkpcwbu","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://name\", target: \"value\"}]"}] +=====query +subject_class("Recipe", C), property_resolve_language(C, "name", Language). +=====result +false +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). +triple("ad4m://self", "", "literal://string:get%20proxy%20test"). +triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). +triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +triple("test://message", "ad4m://type", "ad4m://undefined"). +triple("test://message", "ad4m://type", "ad4m://message"). +triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). +triple("literal://string:test%20message", "todo://state", "todo://ready"). +triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). +triple("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706790532212, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test", 1706790532505, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +languageAddress("literal://string:new%20comment", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:Test", "literal"). +languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageAddress("literal://string:test%20message", "literal"). +languageAddress("literal://string:Custom%20getter%20test", "literal"). +languageAddress("literal://string:Message", "literal"). +languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test", "literal"). +languageAddress("literal://string:Recipe", "literal"). +languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +languageName("literal://string:new%20comment", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:Test", "literal"). +languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageName("literal://string:test%20message", "literal"). +languageName("literal://string:Custom%20getter%20test", "literal"). +languageName("literal://string:Message", "literal"). +languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test", "literal"). +languageName("literal://string:Recipe", "literal"). +languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:Active%20record%20implementation%20test", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +expressionAddress("literal://string:new%20comment", "string:new%20comment"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:Test", "string:Test"). +expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). +expressionAddress("literal://string:test%20message", "string:test%20message"). +expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). +expressionAddress("literal://string:Message", "string:Message"). +expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). +expressionAddress("literal://string:Recipe", "string:Recipe"). +expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +subject_class("Test", srksdbln). +constructor(srksdbln, '[]'). +destructor(srksdbln, '[]'). + +property(srksdbln, "number"). +property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", mqvvfluy). +constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(mqvvfluy, "type"). +property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(mqvvfluy, "body"). +property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", nzkpcwbu). +constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(nzkpcwbu, "type"). +property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(nzkpcwbu, "name"). +property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(nzkpcwbu, "local"). +property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(nzkpcwbu, "entries"). +collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "ingredients"). +collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "comments"). +collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). + +=====query +subject_class("Recipe", C), property_setter(C, "entries", Setter). +=====result +false +=====query +subject_class("Recipe", C), property_setter(C, "comments", Setter). +=====result +false +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test"). +=====result +[{"C":"nzkpcwbu"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] +=====query +subject_class("Recipe", C), property_resolve(C, "type"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "type", Value). +=====result +[{"C":"nzkpcwbu","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), property_resolve(C, "name"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "name", Value). +=====result +[{"C":"nzkpcwbu","Value":"recipe://test"}] +=====query +subject_class("Recipe", C), property_resolve(C, "local"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "local", Value). +=====result +false +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "entries", Value). +=====result +[{"C":"nzkpcwbu","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "ingredients", Value). +=====result +false +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "comments", Value). +=====result +[{"C":"nzkpcwbu","Value":[""]}] +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test"). +=====result +[{"C":"nzkpcwbu"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] +=====query +subject_class("Recipe", C), property_resolve(C, "type"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "type", Value). +=====result +[{"C":"nzkpcwbu","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), property_resolve(C, "name"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "name", Value). +=====result +[{"C":"nzkpcwbu","Value":"recipe://test"}] +=====query +subject_class("Recipe", C), property_resolve(C, "local"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "local", Value). +=====result +false +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "entries", Value). +=====result +[{"C":"nzkpcwbu","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "ingredients", Value). +=====result +false +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "comments", Value). +=====result +[{"C":"nzkpcwbu","Value":[""]}] +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class("Recipe", C), property_setter(C, "name", Setter). +=====result +[{"C":"nzkpcwbu","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://name\", target: \"value\"}]"}] +=====query +subject_class("Recipe", C), property_resolve_language(C, "name", Language). +=====result +false +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). +triple("ad4m://self", "", "literal://string:get%20proxy%20test"). +triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). +triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +triple("test://message", "ad4m://type", "ad4m://undefined"). +triple("test://message", "ad4m://type", "ad4m://message"). +triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). +triple("literal://string:test%20message", "todo://state", "todo://ready"). +triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). +triple("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706790532212, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706790532891, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +languageAddress("literal://string:new%20comment", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:Test", "literal"). +languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageAddress("literal://string:test%20message", "literal"). +languageAddress("literal://string:Custom%20getter%20test", "literal"). +languageAddress("literal://string:Message", "literal"). +languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test", "literal"). +languageAddress("literal://string:Recipe", "literal"). +languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +languageName("literal://string:new%20comment", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:Test", "literal"). +languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageName("literal://string:test%20message", "literal"). +languageName("literal://string:Custom%20getter%20test", "literal"). +languageName("literal://string:Message", "literal"). +languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test", "literal"). +languageName("literal://string:Recipe", "literal"). +languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:Active%20record%20implementation%20test", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +expressionAddress("literal://string:new%20comment", "string:new%20comment"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:Test", "string:Test"). +expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). +expressionAddress("literal://string:test%20message", "string:test%20message"). +expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). +expressionAddress("literal://string:Message", "string:Message"). +expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). +expressionAddress("literal://string:Recipe", "string:Recipe"). +expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +subject_class("Test", srksdbln). +constructor(srksdbln, '[]'). +destructor(srksdbln, '[]'). + +property(srksdbln, "number"). +property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", mqvvfluy). +constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(mqvvfluy, "type"). +property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(mqvvfluy, "body"). +property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", nzkpcwbu). +constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(nzkpcwbu, "type"). +property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(nzkpcwbu, "name"). +property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(nzkpcwbu, "local"). +property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(nzkpcwbu, "entries"). +collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "ingredients"). +collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "comments"). +collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). + +=====query +subject_class("Recipe", C), property_setter(C, "entries", Setter). +=====result +false +=====query +subject_class("Recipe", C), property_setter(C, "comments", Setter). +=====result +false +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test"). +=====result +[{"C":"nzkpcwbu"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] +=====query +subject_class("Recipe", C), property_resolve(C, "type"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "type", Value). +=====result +[{"C":"nzkpcwbu","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), property_resolve(C, "name"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "name", Value). +=====result +[{"C":"nzkpcwbu","Value":"recipe://test1"}] +=====query +subject_class("Recipe", C), property_resolve(C, "local"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "local", Value). +=====result +false +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "entries", Value). +=====result +[{"C":"nzkpcwbu","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "ingredients", Value). +=====result +false +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "comments", Value). +=====result +[{"C":"nzkpcwbu","Value":[""]}] +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test"). +=====result +[{"C":"nzkpcwbu"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] +=====query +subject_class("Recipe", C), property_resolve(C, "type"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "type", Value). +=====result +[{"C":"nzkpcwbu","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), property_resolve(C, "name"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "name", Value). +=====result +[{"C":"nzkpcwbu","Value":"recipe://test1"}] +=====query +subject_class("Recipe", C), property_resolve(C, "local"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "local", Value). +=====result +false +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "entries", Value). +=====result +[{"C":"nzkpcwbu","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "ingredients", Value). +=====result +false +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "comments", Value). +=====result +[{"C":"nzkpcwbu","Value":[""]}] +=====query +subject_class(Class, C), property(C, "className"), property(C, "generateSDNA"). +=====result +false +=====query +subject_class("Recipe", C), instance(C, X). +=====result +[{"C":"nzkpcwbu","X":"literal://string:Active%20record%20implementation%20test"}] +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test"). +=====result +[{"C":"nzkpcwbu"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] +=====query +subject_class("Recipe", C), property_resolve(C, "type"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "type", Value). +=====result +[{"C":"nzkpcwbu","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), property_resolve(C, "name"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "name", Value). +=====result +[{"C":"nzkpcwbu","Value":"recipe://test1"}] +=====query +subject_class("Recipe", C), property_resolve(C, "local"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "local", Value). +=====result +false +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "entries", Value). +=====result +[{"C":"nzkpcwbu","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "ingredients", Value). +=====result +false +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "comments", Value). +=====result +[{"C":"nzkpcwbu","Value":[""]}] +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class("Recipe", C), constructor(C, Actions). +=====result +[{"Actions":"[{action: \"addLink\", source: \"this\", predicate: \"ad4m://type\", target: \"ad4m://recipe\"}]","C":"nzkpcwbu"}] +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). +triple("ad4m://self", "", "literal://string:get%20proxy%20test"). +triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). +triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +triple("test://message", "ad4m://type", "ad4m://undefined"). +triple("test://message", "ad4m://type", "ad4m://message"). +triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). +triple("literal://string:test%20message", "todo://state", "todo://ready"). +triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). +triple("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706790532212, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706790532891, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706790533421, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +languageAddress("literal://string:new%20comment", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:Test", "literal"). +languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageAddress("literal://string:test%20message", "literal"). +languageAddress("literal://string:Custom%20getter%20test", "literal"). +languageAddress("literal://string:Message", "literal"). +languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test", "literal"). +languageAddress("literal://string:Recipe", "literal"). +languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20collection%20test", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +languageName("literal://string:new%20comment", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:Test", "literal"). +languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageName("literal://string:test%20message", "literal"). +languageName("literal://string:Custom%20getter%20test", "literal"). +languageName("literal://string:Message", "literal"). +languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test", "literal"). +languageName("literal://string:Recipe", "literal"). +languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:Active%20record%20implementation%20test", "literal"). +languageName("literal://string:Active%20record%20implementation%20collection%20test", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +expressionAddress("literal://string:new%20comment", "string:new%20comment"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:Test", "string:Test"). +expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). +expressionAddress("literal://string:test%20message", "string:test%20message"). +expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). +expressionAddress("literal://string:Message", "string:Message"). +expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). +expressionAddress("literal://string:Recipe", "string:Recipe"). +expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). +expressionAddress("literal://string:Active%20record%20implementation%20collection%20test", "string:Active%20record%20implementation%20collection%20test"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +subject_class("Test", srksdbln). +constructor(srksdbln, '[]'). +destructor(srksdbln, '[]'). + +property(srksdbln, "number"). +property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", mqvvfluy). +constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(mqvvfluy, "type"). +property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(mqvvfluy, "body"). +property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", nzkpcwbu). +constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(nzkpcwbu, "type"). +property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(nzkpcwbu, "name"). +property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(nzkpcwbu, "local"). +property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(nzkpcwbu, "entries"). +collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "ingredients"). +collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "comments"). +collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). + +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20collection%20test"). +=====result +[{"C":"nzkpcwbu"}] +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20collection%20test"). +=====result +[{"C":"nzkpcwbu"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] +=====query +subject_class("Recipe", C), property_resolve(C, "type"). +=====result +false +=====query +subject_class("Recipe", C), property_resolve(C, "name"). +=====result +false +=====query +subject_class("Recipe", C), property_resolve(C, "local"). +=====result +false +=====query +subject_class("Recipe", C), property_setter(C, Property, Setter). +=====result +[{"C":"nzkpcwbu","Property":"name","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://name\", target: \"value\"}]"},{"C":"nzkpcwbu","Property":"local","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://local\", target: \"value\", local: true}]"}] +=====query +subject_class("Recipe", C), property_resolve_language(C, "name", Language). +=====result +false +=====query +subject_class("Recipe", C), property_resolve_language(C, "local", Language). +=====result +false +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] +=====query +subject_class("Recipe", C), collection_adder(C, Collection, Adder). +=====result +[{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]","C":"nzkpcwbu","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]","C":"nzkpcwbu","Collection":"ingredientss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]","C":"nzkpcwbu","Collection":"commentss"}] +=====query +subject_class("Recipe", C), collection_remover(C, Collection, Remover). +=====result +[{"C":"nzkpcwbu","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"nzkpcwbu","Collection":"ingredientss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"nzkpcwbu","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]"}] +=====query +subject_class("Recipe", C), collection_setter(C, Collection, Setter). +=====result +[{"C":"nzkpcwbu","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"nzkpcwbu","Collection":"ingredientss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"nzkpcwbu","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]"}] +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). +triple("ad4m://self", "", "literal://string:get%20proxy%20test"). +triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). +triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +triple("test://message", "ad4m://type", "ad4m://undefined"). +triple("test://message", "ad4m://type", "ad4m://message"). +triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). +triple("literal://string:test%20message", "todo://state", "todo://ready"). +triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). +triple("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706790532212, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706790532891, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706790533421, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706790533626, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +languageAddress("literal://string:new%20comment", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:Test", "literal"). +languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageAddress("literal://string:test%20message", "literal"). +languageAddress("literal://string:Custom%20getter%20test", "literal"). +languageAddress("literal://string:Message", "literal"). +languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test", "literal"). +languageAddress("literal://string:Recipe", "literal"). +languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20collection%20test", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +languageName("literal://string:new%20comment", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:Test", "literal"). +languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageName("literal://string:test%20message", "literal"). +languageName("literal://string:Custom%20getter%20test", "literal"). +languageName("literal://string:Message", "literal"). +languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test", "literal"). +languageName("literal://string:Recipe", "literal"). +languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:Active%20record%20implementation%20test", "literal"). +languageName("literal://string:Active%20record%20implementation%20collection%20test", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +expressionAddress("literal://string:new%20comment", "string:new%20comment"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:Test", "string:Test"). +expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). +expressionAddress("literal://string:test%20message", "string:test%20message"). +expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). +expressionAddress("literal://string:Message", "string:Message"). +expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). +expressionAddress("literal://string:Recipe", "string:Recipe"). +expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). +expressionAddress("literal://string:Active%20record%20implementation%20collection%20test", "string:Active%20record%20implementation%20collection%20test"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +subject_class("Test", srksdbln). +constructor(srksdbln, '[]'). +destructor(srksdbln, '[]'). + +property(srksdbln, "number"). +property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", mqvvfluy). +constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(mqvvfluy, "type"). +property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(mqvvfluy, "body"). +property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", nzkpcwbu). +constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(nzkpcwbu, "type"). +property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(nzkpcwbu, "name"). +property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(nzkpcwbu, "local"). +property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(nzkpcwbu, "entries"). +collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "ingredients"). +collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "comments"). +collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). + +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class("Recipe", C), property_setter(C, "name", Setter). +=====result +[{"C":"nzkpcwbu","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://name\", target: \"value\"}]"}] +=====query +subject_class("Recipe", C), property_resolve_language(C, "name", Language). +=====result +false +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). +triple("ad4m://self", "", "literal://string:get%20proxy%20test"). +triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). +triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +triple("test://message", "ad4m://type", "ad4m://undefined"). +triple("test://message", "ad4m://type", "ad4m://message"). +triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). +triple("literal://string:test%20message", "todo://state", "todo://ready"). +triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). +triple("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706790532212, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706790532891, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706790533421, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706790533626, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706790533710, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +languageAddress("literal://string:new%20comment", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:Test", "literal"). +languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageAddress("literal://string:test%20message", "literal"). +languageAddress("literal://string:Custom%20getter%20test", "literal"). +languageAddress("literal://string:Message", "literal"). +languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test", "literal"). +languageAddress("literal://string:Recipe", "literal"). +languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20collection%20test", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +languageName("literal://string:new%20comment", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:Test", "literal"). +languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageName("literal://string:test%20message", "literal"). +languageName("literal://string:Custom%20getter%20test", "literal"). +languageName("literal://string:Message", "literal"). +languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test", "literal"). +languageName("literal://string:Recipe", "literal"). +languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:Active%20record%20implementation%20test", "literal"). +languageName("literal://string:Active%20record%20implementation%20collection%20test", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +expressionAddress("literal://string:new%20comment", "string:new%20comment"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:Test", "string:Test"). +expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). +expressionAddress("literal://string:test%20message", "string:test%20message"). +expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). +expressionAddress("literal://string:Message", "string:Message"). +expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). +expressionAddress("literal://string:Recipe", "string:Recipe"). +expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). +expressionAddress("literal://string:Active%20record%20implementation%20collection%20test", "string:Active%20record%20implementation%20collection%20test"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +subject_class("Test", srksdbln). +constructor(srksdbln, '[]'). +destructor(srksdbln, '[]'). + +property(srksdbln, "number"). +property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", mqvvfluy). +constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(mqvvfluy, "type"). +property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(mqvvfluy, "body"). +property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", nzkpcwbu). +constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(nzkpcwbu, "type"). +property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(nzkpcwbu, "name"). +property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(nzkpcwbu, "local"). +property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(nzkpcwbu, "entries"). +collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "ingredients"). +collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "comments"). +collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). + +=====query +subject_class("Recipe", C), property_setter(C, "entries", Setter). +=====result +false +=====query +subject_class("Recipe", C), collection_setter(C, "commentss", Setter). +=====result +[{"C":"nzkpcwbu","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]"}] +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). +triple("ad4m://self", "", "literal://string:get%20proxy%20test"). +triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). +triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +triple("test://message", "ad4m://type", "ad4m://undefined"). +triple("test://message", "ad4m://type", "ad4m://message"). +triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). +triple("literal://string:test%20message", "todo://state", "todo://ready"). +triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). +triple("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706790532212, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706790532891, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706790533421, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706790533626, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706790533710, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +languageAddress("literal://string:new%20comment", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:Test", "literal"). +languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageAddress("literal://string:test%20message", "literal"). +languageAddress("literal://string:Custom%20getter%20test", "literal"). +languageAddress("literal://string:Message", "literal"). +languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test", "literal"). +languageAddress("literal://string:Recipe", "literal"). +languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20collection%20test", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +languageName("literal://string:new%20comment", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:Test", "literal"). +languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageName("literal://string:test%20message", "literal"). +languageName("literal://string:Custom%20getter%20test", "literal"). +languageName("literal://string:Message", "literal"). +languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test", "literal"). +languageName("literal://string:Recipe", "literal"). +languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:Active%20record%20implementation%20test", "literal"). +languageName("literal://string:Active%20record%20implementation%20collection%20test", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +expressionAddress("literal://string:new%20comment", "string:new%20comment"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:Test", "string:Test"). +expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). +expressionAddress("literal://string:test%20message", "string:test%20message"). +expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). +expressionAddress("literal://string:Message", "string:Message"). +expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). +expressionAddress("literal://string:Recipe", "string:Recipe"). +expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). +expressionAddress("literal://string:Active%20record%20implementation%20collection%20test", "string:Active%20record%20implementation%20collection%20test"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +subject_class("Test", srksdbln). +constructor(srksdbln, '[]'). +destructor(srksdbln, '[]'). + +property(srksdbln, "number"). +property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", mqvvfluy). +constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(mqvvfluy, "type"). +property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(mqvvfluy, "body"). +property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", nzkpcwbu). +constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(nzkpcwbu, "type"). +property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(nzkpcwbu, "name"). +property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(nzkpcwbu, "local"). +property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(nzkpcwbu, "entries"). +collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "ingredients"). +collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "comments"). +collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). + +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20collection%20test"). +=====result +[{"C":"nzkpcwbu"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] +=====query +subject_class("Recipe", C), property_resolve(C, "type"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "type", Value). +=====result +[{"C":"nzkpcwbu","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), property_resolve(C, "name"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "name", Value). +=====result +[{"C":"nzkpcwbu","Value":"recipe://collection_test"}] +=====query +subject_class("Recipe", C), property_resolve(C, "local"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "local", Value). +=====result +false +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "entries", Value). +=====result +[{"C":"nzkpcwbu","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "ingredients", Value). +=====result +false +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "comments", Value). +=====result +[{"C":"nzkpcwbu","Value":["recipe://test","recipe://test1"]}] +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20collection%20test"). +=====result +[{"C":"nzkpcwbu"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] +=====query +subject_class("Recipe", C), property_resolve(C, "type"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "type", Value). +=====result +[{"C":"nzkpcwbu","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), property_resolve(C, "name"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "name", Value). +=====result +[{"C":"nzkpcwbu","Value":"recipe://collection_test"}] +=====query +subject_class("Recipe", C), property_resolve(C, "local"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "local", Value). +=====result +false +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "entries", Value). +=====result +[{"C":"nzkpcwbu","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "ingredients", Value). +=====result +false +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "comments", Value). +=====result +[{"C":"nzkpcwbu","Value":["recipe://test","recipe://test1"]}] +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class("Recipe", C), constructor(C, Actions). +=====result +[{"Actions":"[{action: \"addLink\", source: \"this\", predicate: \"ad4m://type\", target: \"ad4m://recipe\"}]","C":"nzkpcwbu"}] +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). +triple("ad4m://self", "", "literal://string:get%20proxy%20test"). +triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). +triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +triple("test://message", "ad4m://type", "ad4m://undefined"). +triple("test://message", "ad4m://type", "ad4m://message"). +triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). +triple("literal://string:test%20message", "todo://state", "todo://ready"). +triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). +triple("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1"). +triple("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706790532212, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706790532891, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706790533421, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706790533626, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706790533710, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe", 1706790534160, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +languageAddress("literal://string:new%20comment", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:Test", "literal"). +languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageAddress("literal://string:test%20message", "literal"). +languageAddress("literal://string:Custom%20getter%20test", "literal"). +languageAddress("literal://string:Message", "literal"). +languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test", "literal"). +languageAddress("literal://string:Recipe", "literal"). +languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20collection%20test", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +languageName("literal://string:new%20comment", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:Test", "literal"). +languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageName("literal://string:test%20message", "literal"). +languageName("literal://string:Custom%20getter%20test", "literal"). +languageName("literal://string:Message", "literal"). +languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test", "literal"). +languageName("literal://string:Recipe", "literal"). +languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:Active%20record%20implementation%20test", "literal"). +languageName("literal://string:Active%20record%20implementation%20collection%20test", "literal"). +languageName("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +expressionAddress("literal://string:new%20comment", "string:new%20comment"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:Test", "string:Test"). +expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). +expressionAddress("literal://string:test%20message", "string:test%20message"). +expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). +expressionAddress("literal://string:Message", "string:Message"). +expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). +expressionAddress("literal://string:Recipe", "string:Recipe"). +expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). +expressionAddress("literal://string:Active%20record%20implementation%20collection%20test", "string:Active%20record%20implementation%20collection%20test"). +expressionAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "string:Active%20record%20implementation%20test%20local%20link"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +subject_class("Test", srksdbln). +constructor(srksdbln, '[]'). +destructor(srksdbln, '[]'). + +property(srksdbln, "number"). +property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", mqvvfluy). +constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(mqvvfluy, "type"). +property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(mqvvfluy, "body"). +property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", nzkpcwbu). +constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(nzkpcwbu, "type"). +property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(nzkpcwbu, "name"). +property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(nzkpcwbu, "local"). +property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(nzkpcwbu, "entries"). +collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "ingredients"). +collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "comments"). +collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). + +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test%20local%20link"). +=====result +[{"C":"nzkpcwbu"}] +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test%20local%20link"). +=====result +[{"C":"nzkpcwbu"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] +=====query +subject_class("Recipe", C), property_resolve(C, "type"). +=====result +false +=====query +subject_class("Recipe", C), property_resolve(C, "name"). +=====result +false +=====query +subject_class("Recipe", C), property_resolve(C, "local"). +=====result +false +=====query +subject_class("Recipe", C), property_setter(C, Property, Setter). +=====result +[{"C":"nzkpcwbu","Property":"name","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://name\", target: \"value\"}]"},{"C":"nzkpcwbu","Property":"local","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://local\", target: \"value\", local: true}]"}] +=====query +subject_class("Recipe", C), property_resolve_language(C, "name", Language). +=====result +false +=====query +subject_class("Recipe", C), property_resolve_language(C, "local", Language). +=====result +false +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] +=====query +subject_class("Recipe", C), collection_adder(C, Collection, Adder). +=====result +[{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]","C":"nzkpcwbu","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]","C":"nzkpcwbu","Collection":"ingredientss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]","C":"nzkpcwbu","Collection":"commentss"}] +=====query +subject_class("Recipe", C), collection_remover(C, Collection, Remover). +=====result +[{"C":"nzkpcwbu","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"nzkpcwbu","Collection":"ingredientss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"nzkpcwbu","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]"}] +=====query +subject_class("Recipe", C), collection_setter(C, Collection, Setter). +=====result +[{"C":"nzkpcwbu","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"nzkpcwbu","Collection":"ingredientss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"nzkpcwbu","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]"}] +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). +triple("ad4m://self", "", "literal://string:get%20proxy%20test"). +triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). +triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +triple("test://message", "ad4m://type", "ad4m://undefined"). +triple("test://message", "ad4m://type", "ad4m://message"). +triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). +triple("literal://string:test%20message", "todo://state", "todo://ready"). +triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). +triple("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1"). +triple("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706790532212, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706790532891, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706790533421, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706790533626, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706790533710, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe", 1706790534160, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link", 1706790534369, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +languageAddress("literal://string:new%20comment", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:Test", "literal"). +languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageAddress("literal://string:test%20message", "literal"). +languageAddress("literal://string:Custom%20getter%20test", "literal"). +languageAddress("literal://string:Message", "literal"). +languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test", "literal"). +languageAddress("literal://string:Recipe", "literal"). +languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20collection%20test", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +languageName("literal://string:new%20comment", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:Test", "literal"). +languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageName("literal://string:test%20message", "literal"). +languageName("literal://string:Custom%20getter%20test", "literal"). +languageName("literal://string:Message", "literal"). +languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test", "literal"). +languageName("literal://string:Recipe", "literal"). +languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:Active%20record%20implementation%20test", "literal"). +languageName("literal://string:Active%20record%20implementation%20collection%20test", "literal"). +languageName("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +expressionAddress("literal://string:new%20comment", "string:new%20comment"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:Test", "string:Test"). +expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). +expressionAddress("literal://string:test%20message", "string:test%20message"). +expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). +expressionAddress("literal://string:Message", "string:Message"). +expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). +expressionAddress("literal://string:Recipe", "string:Recipe"). +expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). +expressionAddress("literal://string:Active%20record%20implementation%20collection%20test", "string:Active%20record%20implementation%20collection%20test"). +expressionAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "string:Active%20record%20implementation%20test%20local%20link"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +subject_class("Test", srksdbln). +constructor(srksdbln, '[]'). +destructor(srksdbln, '[]'). + +property(srksdbln, "number"). +property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", mqvvfluy). +constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(mqvvfluy, "type"). +property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(mqvvfluy, "body"). +property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", nzkpcwbu). +constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(nzkpcwbu, "type"). +property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(nzkpcwbu, "name"). +property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(nzkpcwbu, "local"). +property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(nzkpcwbu, "entries"). +collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "ingredients"). +collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "comments"). +collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). + +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class("Recipe", C), property_setter(C, "name", Setter). +=====result +[{"C":"nzkpcwbu","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://name\", target: \"value\"}]"}] +=====query +subject_class("Recipe", C), property_resolve_language(C, "name", Language). +=====result +false +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). +triple("ad4m://self", "", "literal://string:get%20proxy%20test"). +triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). +triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +triple("test://message", "ad4m://type", "ad4m://undefined"). +triple("test://message", "ad4m://type", "ad4m://message"). +triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). +triple("literal://string:test%20message", "todo://state", "todo://ready"). +triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). +triple("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1"). +triple("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link"). +triple("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706790532212, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706790532891, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706790533421, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706790533626, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706790533710, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe", 1706790534160, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link", 1706790534369, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink", 1706790534459, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +languageAddress("literal://string:new%20comment", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:Test", "literal"). +languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageAddress("literal://string:test%20message", "literal"). +languageAddress("literal://string:Custom%20getter%20test", "literal"). +languageAddress("literal://string:Message", "literal"). +languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test", "literal"). +languageAddress("literal://string:Recipe", "literal"). +languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20collection%20test", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +languageName("literal://string:new%20comment", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:Test", "literal"). +languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageName("literal://string:test%20message", "literal"). +languageName("literal://string:Custom%20getter%20test", "literal"). +languageName("literal://string:Message", "literal"). +languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test", "literal"). +languageName("literal://string:Recipe", "literal"). +languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:Active%20record%20implementation%20test", "literal"). +languageName("literal://string:Active%20record%20implementation%20collection%20test", "literal"). +languageName("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +expressionAddress("literal://string:new%20comment", "string:new%20comment"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:Test", "string:Test"). +expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). +expressionAddress("literal://string:test%20message", "string:test%20message"). +expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). +expressionAddress("literal://string:Message", "string:Message"). +expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). +expressionAddress("literal://string:Recipe", "string:Recipe"). +expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). +expressionAddress("literal://string:Active%20record%20implementation%20collection%20test", "string:Active%20record%20implementation%20collection%20test"). +expressionAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "string:Active%20record%20implementation%20test%20local%20link"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +subject_class("Test", srksdbln). +constructor(srksdbln, '[]'). +destructor(srksdbln, '[]'). + +property(srksdbln, "number"). +property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", mqvvfluy). +constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(mqvvfluy, "type"). +property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(mqvvfluy, "body"). +property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", nzkpcwbu). +constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(nzkpcwbu, "type"). +property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(nzkpcwbu, "name"). +property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(nzkpcwbu, "local"). +property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(nzkpcwbu, "entries"). +collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "ingredients"). +collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "comments"). +collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). + +=====query +subject_class("Recipe", C), property_setter(C, "entries", Setter). +=====result +false +=====query +subject_class("Recipe", C), property_setter(C, "comments", Setter). +=====result +false +=====query +subject_class("Recipe", C), property_setter(C, "local", Setter). +=====result +[{"C":"nzkpcwbu","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://local\", target: \"value\", local: true}]"}] +=====query +subject_class("Recipe", C), property_resolve_language(C, "local", Language). +=====result +false +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). +triple("ad4m://self", "", "literal://string:get%20proxy%20test"). +triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). +triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +triple("test://message", "ad4m://type", "ad4m://undefined"). +triple("test://message", "ad4m://type", "ad4m://message"). +triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). +triple("literal://string:test%20message", "todo://state", "todo://ready"). +triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). +triple("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1"). +triple("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link"). +triple("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink"). +triple("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test", "ad4m://type", "ad4m://recipe", 1706790532212, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706790532891, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706790533421, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706790533626, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706790533710, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe", 1706790534160, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link", 1706790534369, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink", 1706790534459, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test", 1706790534565, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +languageAddress("literal://string:new%20comment", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:Test", "literal"). +languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageAddress("literal://string:test%20message", "literal"). +languageAddress("literal://string:Custom%20getter%20test", "literal"). +languageAddress("literal://string:Message", "literal"). +languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test", "literal"). +languageAddress("literal://string:Recipe", "literal"). +languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20collection%20test", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +languageName("literal://string:new%20comment", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:Test", "literal"). +languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageName("literal://string:test%20message", "literal"). +languageName("literal://string:Custom%20getter%20test", "literal"). +languageName("literal://string:Message", "literal"). +languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test", "literal"). +languageName("literal://string:Recipe", "literal"). +languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:Active%20record%20implementation%20test", "literal"). +languageName("literal://string:Active%20record%20implementation%20collection%20test", "literal"). +languageName("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +expressionAddress("literal://string:new%20comment", "string:new%20comment"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:Test", "string:Test"). +expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). +expressionAddress("literal://string:test%20message", "string:test%20message"). +expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). +expressionAddress("literal://string:Message", "string:Message"). +expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). +expressionAddress("literal://string:Recipe", "string:Recipe"). +expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). +expressionAddress("literal://string:Active%20record%20implementation%20collection%20test", "string:Active%20record%20implementation%20collection%20test"). +expressionAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "string:Active%20record%20implementation%20test%20local%20link"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +subject_class("Test", srksdbln). +constructor(srksdbln, '[]'). +destructor(srksdbln, '[]'). + +property(srksdbln, "number"). +property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", mqvvfluy). +constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(mqvvfluy, "type"). +property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(mqvvfluy, "body"). +property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", nzkpcwbu). +constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(nzkpcwbu, "type"). +property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(nzkpcwbu, "name"). +property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(nzkpcwbu, "local"). +property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(nzkpcwbu, "entries"). +collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "ingredients"). +collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "comments"). +collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). + +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test%20local%20link"). +=====result +[{"C":"nzkpcwbu"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] +=====query +subject_class("Recipe", C), property_resolve(C, "type"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "type", Value). +=====result +[{"C":"nzkpcwbu","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), property_resolve(C, "name"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "name", Value). +=====result +[{"C":"nzkpcwbu","Value":"recipe://locallink"}] +=====query +subject_class("Recipe", C), property_resolve(C, "local"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "local", Value). +=====result +[{"C":"nzkpcwbu","Value":"recipe://test"}] +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "entries", Value). +=====result +[{"C":"nzkpcwbu","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "ingredients", Value). +=====result +false +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "comments", Value). +=====result +[{"C":"nzkpcwbu","Value":[""]}] +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test%20local%20link"). +=====result +[{"C":"nzkpcwbu"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] +=====query +subject_class("Recipe", C), property_resolve(C, "type"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "type", Value). +=====result +[{"C":"nzkpcwbu","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), property_resolve(C, "name"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "name", Value). +=====result +[{"C":"nzkpcwbu","Value":"recipe://locallink"}] +=====query +subject_class("Recipe", C), property_resolve(C, "local"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "local", Value). +=====result +[{"C":"nzkpcwbu","Value":"recipe://test"}] +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "entries", Value). +=====result +[{"C":"nzkpcwbu","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "ingredients", Value). +=====result +false +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "comments", Value). +=====result +[{"C":"nzkpcwbu","Value":[""]}] +=====query +subject_class(Class, C), property(C, "className"), property(C, "generateSDNA"). +=====result +false +=====query +findall([Timestamp, Base], (subject_class("Recipe", C), instance(C, Base), link("ad4m://self", Predicate, Base, Timestamp, Author)), AllData), sort(AllData, SortedData), length(SortedData, DataLength). +=====result +[{"AllData":[[1706790532420,"literal://string:Active%20record%20implementation%20test"],[1706790533626,"literal://string:Active%20record%20implementation%20collection%20test"],[1706790534369,"literal://string:Active%20record%20implementation%20test%20local%20link"]],"DataLength":3,"SortedData":[[1706790532420,"literal://string:Active%20record%20implementation%20test"],[1706790533626,"literal://string:Active%20record%20implementation%20collection%20test"],[1706790534369,"literal://string:Active%20record%20implementation%20test%20local%20link"]]}] +=====query +findall([Timestamp, Base], (subject_class("Recipe", C), instance(C, Base), link("ad4m://self", Predicate, Base, Timestamp, Author)), AllData), sort(AllData, SortedData), reverse(SortedData, ReverseSortedData), paginate(ReverseSortedData, 1, 2, PageData). +=====result +[{"AllData":[[1706790532420,"literal://string:Active%20record%20implementation%20test"],[1706790533626,"literal://string:Active%20record%20implementation%20collection%20test"],[1706790534369,"literal://string:Active%20record%20implementation%20test%20local%20link"]],"PageData":[[1706790534369,"literal://string:Active%20record%20implementation%20test%20local%20link"],[1706790533626,"literal://string:Active%20record%20implementation%20collection%20test"]],"ReverseSortedData":[[1706790534369,"literal://string:Active%20record%20implementation%20test%20local%20link"],[1706790533626,"literal://string:Active%20record%20implementation%20collection%20test"],[1706790532420,"literal://string:Active%20record%20implementation%20test"]],"SortedData":[[1706790532420,"literal://string:Active%20record%20implementation%20test"],[1706790533626,"literal://string:Active%20record%20implementation%20collection%20test"],[1706790534369,"literal://string:Active%20record%20implementation%20test%20local%20link"]]}] +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test%20local%20link"). +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20collection%20test"). +=====result +[{"C":"nzkpcwbu"}] +=====result +[{"C":"nzkpcwbu"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] +=====query +subject_class("Recipe", C), property_resolve(C, "type"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "type", Value). +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "type", Value). +=====result +[{"C":"nzkpcwbu","Value":"ad4m://recipe"}] +=====result +[{"C":"nzkpcwbu","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), property_resolve(C, "name"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "name", Value). +=====result +[{"C":"nzkpcwbu","Value":"recipe://locallink"}] +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "name", Value). +=====result +[{"C":"nzkpcwbu","Value":"recipe://collection_test"}] +=====query +subject_class("Recipe", C), property_resolve(C, "local"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "local", Value). +=====result +[{"C":"nzkpcwbu","Value":"recipe://test"}] +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "local", Value). +=====result +false +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "entries", Value). +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "entries", Value). +=====result +[{"C":"nzkpcwbu","Value":[""]}] +=====result +[{"C":"nzkpcwbu","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "ingredients", Value). +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "ingredients", Value). +=====result +false +=====result +false +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "comments", Value). +=====result +[{"C":"nzkpcwbu","Value":["recipe://test","recipe://test1"]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "comments", Value). +=====result +[{"C":"nzkpcwbu","Value":[""]}] +=====query +subject_class(Class, C), property(C, "className"), property(C, "generateSDNA"). +=====result +false +=====query +findall([Timestamp, Base], (subject_class("Recipe", C), instance(C, Base), link("ad4m://self", Predicate, Base, Timestamp, Author)), AllData), sort(AllData, SortedData), length(SortedData, DataLength). +=====result +[{"AllData":[[1706790532420,"literal://string:Active%20record%20implementation%20test"],[1706790533626,"literal://string:Active%20record%20implementation%20collection%20test"],[1706790534369,"literal://string:Active%20record%20implementation%20test%20local%20link"]],"DataLength":3,"SortedData":[[1706790532420,"literal://string:Active%20record%20implementation%20test"],[1706790533626,"literal://string:Active%20record%20implementation%20collection%20test"],[1706790534369,"literal://string:Active%20record%20implementation%20test%20local%20link"]]}] +=====query +findall([Timestamp, Base], (subject_class("Recipe", C), instance(C, Base), link("ad4m://self", Predicate, Base, Timestamp, Author)), AllData), sort(AllData, SortedData), reverse(SortedData, ReverseSortedData), paginate(ReverseSortedData, 2, 1, PageData). +=====result +[{"AllData":[[1706790532420,"literal://string:Active%20record%20implementation%20test"],[1706790533626,"literal://string:Active%20record%20implementation%20collection%20test"],[1706790534369,"literal://string:Active%20record%20implementation%20test%20local%20link"]],"PageData":[[1706790533626,"literal://string:Active%20record%20implementation%20collection%20test"]],"ReverseSortedData":[[1706790534369,"literal://string:Active%20record%20implementation%20test%20local%20link"],[1706790533626,"literal://string:Active%20record%20implementation%20collection%20test"],[1706790532420,"literal://string:Active%20record%20implementation%20test"]],"SortedData":[[1706790532420,"literal://string:Active%20record%20implementation%20test"],[1706790533626,"literal://string:Active%20record%20implementation%20collection%20test"],[1706790534369,"literal://string:Active%20record%20implementation%20test%20local%20link"]]}] +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20collection%20test"). +=====result +[{"C":"nzkpcwbu"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] +=====query +subject_class("Recipe", C), property_resolve(C, "type"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "type", Value). +=====result +[{"C":"nzkpcwbu","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), property_resolve(C, "name"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "name", Value). +=====result +[{"C":"nzkpcwbu","Value":"recipe://collection_test"}] +=====query +subject_class("Recipe", C), property_resolve(C, "local"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "local", Value). +=====result +false +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "entries", Value). +=====result +[{"C":"nzkpcwbu","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "ingredients", Value). +=====result +false +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "comments", Value). +=====result +[{"C":"nzkpcwbu","Value":["recipe://test","recipe://test1"]}] +=====query +subject_class(Class, C), property(C, "className"), property(C, "generateSDNA"). +=====result +false +=====query +subject_class("Recipe", C), instance(C, X). +=====result +[{"C":"nzkpcwbu","X":"literal://string:Active%20record%20implementation%20test"},{"C":"nzkpcwbu","X":"literal://string:Active%20record%20implementation%20collection%20test"},{"C":"nzkpcwbu","X":"literal://string:Active%20record%20implementation%20test%20local%20link"}] +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test"). +=====result +[{"C":"nzkpcwbu"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] +=====query +subject_class("Recipe", C), property_resolve(C, "type"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "type", Value). +=====result +[{"C":"nzkpcwbu","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), property_resolve(C, "name"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "name", Value). +=====result +[{"C":"nzkpcwbu","Value":"recipe://test1"}] +=====query +subject_class("Recipe", C), property_resolve(C, "local"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test", "local", Value). +=====result +false +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "entries", Value). +=====result +[{"C":"nzkpcwbu","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "ingredients", Value). +=====result +false +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test", "comments", Value). +=====result +[{"C":"nzkpcwbu","Value":[""]}] +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20collection%20test"). +=====result +[{"C":"nzkpcwbu"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] +=====query +subject_class("Recipe", C), property_resolve(C, "type"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "type", Value). +=====result +[{"C":"nzkpcwbu","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), property_resolve(C, "name"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "name", Value). +=====result +[{"C":"nzkpcwbu","Value":"recipe://collection_test"}] +=====query +subject_class("Recipe", C), property_resolve(C, "local"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "local", Value). +=====result +false +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "entries", Value). +=====result +[{"C":"nzkpcwbu","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "ingredients", Value). +=====result +false +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "comments", Value). +=====result +[{"C":"nzkpcwbu","Value":["recipe://test","recipe://test1"]}] +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test%20local%20link"). +=====result +[{"C":"nzkpcwbu"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] +=====query +subject_class("Recipe", C), property_resolve(C, "type"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "type", Value). +=====result +[{"C":"nzkpcwbu","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), property_resolve(C, "name"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "name", Value). +=====result +[{"C":"nzkpcwbu","Value":"recipe://locallink"}] +=====query +subject_class("Recipe", C), property_resolve(C, "local"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "local", Value). +=====result +[{"C":"nzkpcwbu","Value":"recipe://test"}] +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "entries", Value). +=====result +[{"C":"nzkpcwbu","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "ingredients", Value). +=====result +false +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "comments", Value). +=====result +[{"C":"nzkpcwbu","Value":[""]}] +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class("Recipe", C), destructor(C, Actions). +=====result +[{"Actions":"[{action: \"removeLink\", source: \"this\", predicate: \"ad4m://type\", target: \"ad4m://recipe\"}]","C":"nzkpcwbu"}] +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). +triple("ad4m://self", "", "literal://string:get%20proxy%20test"). +triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). +triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +triple("test://message", "ad4m://type", "ad4m://undefined"). +triple("test://message", "ad4m://type", "ad4m://message"). +triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). +triple("literal://string:test%20message", "todo://state", "todo://ready"). +triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). +triple("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1"). +triple("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link"). +triple("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink"). +triple("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706790532891, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706790533421, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706790533626, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706790533710, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe", 1706790534160, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link", 1706790534369, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink", 1706790534459, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test", 1706790534565, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +languageAddress("literal://string:new%20comment", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:Test", "literal"). +languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageAddress("literal://string:test%20message", "literal"). +languageAddress("literal://string:Custom%20getter%20test", "literal"). +languageAddress("literal://string:Message", "literal"). +languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test", "literal"). +languageAddress("literal://string:Recipe", "literal"). +languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20collection%20test", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +languageName("literal://string:new%20comment", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:Test", "literal"). +languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageName("literal://string:test%20message", "literal"). +languageName("literal://string:Custom%20getter%20test", "literal"). +languageName("literal://string:Message", "literal"). +languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test", "literal"). +languageName("literal://string:Recipe", "literal"). +languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:Active%20record%20implementation%20test", "literal"). +languageName("literal://string:Active%20record%20implementation%20collection%20test", "literal"). +languageName("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +expressionAddress("literal://string:new%20comment", "string:new%20comment"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:Test", "string:Test"). +expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). +expressionAddress("literal://string:test%20message", "string:test%20message"). +expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). +expressionAddress("literal://string:Message", "string:Message"). +expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). +expressionAddress("literal://string:Recipe", "string:Recipe"). +expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). +expressionAddress("literal://string:Active%20record%20implementation%20collection%20test", "string:Active%20record%20implementation%20collection%20test"). +expressionAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "string:Active%20record%20implementation%20test%20local%20link"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +subject_class("Test", srksdbln). +constructor(srksdbln, '[]'). +destructor(srksdbln, '[]'). + +property(srksdbln, "number"). +property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", mqvvfluy). +constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(mqvvfluy, "type"). +property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(mqvvfluy, "body"). +property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", nzkpcwbu). +constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(nzkpcwbu, "type"). +property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(nzkpcwbu, "name"). +property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(nzkpcwbu, "local"). +property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(nzkpcwbu, "entries"). +collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "ingredients"). +collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "comments"). +collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). + +=====query +subject_class(Class, C), property(C, "className"), property(C, "generateSDNA"). +=====result +false +=====query +subject_class("Recipe", C), instance(C, X). +=====result +[{"C":"nzkpcwbu","X":"literal://string:Active%20record%20implementation%20collection%20test"},{"C":"nzkpcwbu","X":"literal://string:Active%20record%20implementation%20test%20local%20link"}] +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20collection%20test"). +=====result +[{"C":"nzkpcwbu"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] +=====query +subject_class("Recipe", C), property_resolve(C, "type"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "type", Value). +=====result +[{"C":"nzkpcwbu","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), property_resolve(C, "name"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "name", Value). +=====result +[{"C":"nzkpcwbu","Value":"recipe://collection_test"}] +=====query +subject_class("Recipe", C), property_resolve(C, "local"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "local", Value). +=====result +false +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "entries", Value). +=====result +[{"C":"nzkpcwbu","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "ingredients", Value). +=====result +false +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test", "comments", Value). +=====result +[{"C":"nzkpcwbu","Value":["recipe://test","recipe://test1"]}] +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20test%20local%20link"). +=====result +[{"C":"nzkpcwbu"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] +=====query +subject_class("Recipe", C), property_resolve(C, "type"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "type", Value). +=====result +[{"C":"nzkpcwbu","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), property_resolve(C, "name"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "name", Value). +=====result +[{"C":"nzkpcwbu","Value":"recipe://locallink"}] +=====query +subject_class("Recipe", C), property_resolve(C, "local"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "local", Value). +=====result +[{"C":"nzkpcwbu","Value":"recipe://test"}] +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "entries", Value). +=====result +[{"C":"nzkpcwbu","Value":[""]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "ingredients", Value). +=====result +false +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20test%20local%20link", "comments", Value). +=====result +[{"C":"nzkpcwbu","Value":[""]}] +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class("Recipe", C), constructor(C, Actions). +=====result +[{"Actions":"[{action: \"addLink\", source: \"this\", predicate: \"ad4m://type\", target: \"ad4m://recipe\"}]","C":"nzkpcwbu"}] +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). +triple("ad4m://self", "", "literal://string:get%20proxy%20test"). +triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). +triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +triple("test://message", "ad4m://type", "ad4m://undefined"). +triple("test://message", "ad4m://type", "ad4m://message"). +triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). +triple("literal://string:test%20message", "todo://state", "todo://ready"). +triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). +triple("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1"). +triple("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link"). +triple("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink"). +triple("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test"). +triple("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ad4m://type", "ad4m://recipe"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706790532891, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706790533421, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706790533626, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706790533710, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe", 1706790534160, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link", 1706790534369, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink", 1706790534459, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test", 1706790534565, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ad4m://type", "ad4m://recipe", 1706790536140, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +languageAddress("literal://string:new%20comment", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:Test", "literal"). +languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageAddress("literal://string:test%20message", "literal"). +languageAddress("literal://string:Custom%20getter%20test", "literal"). +languageAddress("literal://string:Message", "literal"). +languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test", "literal"). +languageAddress("literal://string:Recipe", "literal"). +languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20collection%20test", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +languageName("literal://string:new%20comment", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:Test", "literal"). +languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageName("literal://string:test%20message", "literal"). +languageName("literal://string:Custom%20getter%20test", "literal"). +languageName("literal://string:Message", "literal"). +languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test", "literal"). +languageName("literal://string:Recipe", "literal"). +languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:Active%20record%20implementation%20test", "literal"). +languageName("literal://string:Active%20record%20implementation%20collection%20test", "literal"). +languageName("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). +languageName("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +expressionAddress("literal://string:new%20comment", "string:new%20comment"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:Test", "string:Test"). +expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). +expressionAddress("literal://string:test%20message", "string:test%20message"). +expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). +expressionAddress("literal://string:Message", "string:Message"). +expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). +expressionAddress("literal://string:Recipe", "string:Recipe"). +expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). +expressionAddress("literal://string:Active%20record%20implementation%20collection%20test", "string:Active%20record%20implementation%20collection%20test"). +expressionAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "string:Active%20record%20implementation%20test%20local%20link"). +expressionAddress("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "string:Active%20record%20implementation%20collection%20test%20with%20where"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +subject_class("Test", srksdbln). +constructor(srksdbln, '[]'). +destructor(srksdbln, '[]'). + +property(srksdbln, "number"). +property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", mqvvfluy). +constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(mqvvfluy, "type"). +property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(mqvvfluy, "body"). +property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", nzkpcwbu). +constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(nzkpcwbu, "type"). +property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(nzkpcwbu, "name"). +property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(nzkpcwbu, "local"). +property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(nzkpcwbu, "entries"). +collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "ingredients"). +collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "comments"). +collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). + +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where"). +=====result +[{"C":"nzkpcwbu"}] +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where"). +=====result +[{"C":"nzkpcwbu"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] +=====query +subject_class("Recipe", C), property_resolve(C, "type"). +=====result +false +=====query +subject_class("Recipe", C), property_resolve(C, "name"). +=====result +false +=====query +subject_class("Recipe", C), property_resolve(C, "local"). +=====result +false +=====query +subject_class("Recipe", C), property_setter(C, Property, Setter). +=====result +[{"C":"nzkpcwbu","Property":"name","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://name\", target: \"value\"}]"},{"C":"nzkpcwbu","Property":"local","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://local\", target: \"value\", local: true}]"}] +=====query +subject_class("Recipe", C), property_resolve_language(C, "name", Language). +=====result +false +=====query +subject_class("Recipe", C), property_resolve_language(C, "local", Language). +=====result +false +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] +=====query +subject_class("Recipe", C), collection_adder(C, Collection, Adder). +=====result +[{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]","C":"nzkpcwbu","Collection":"entriess"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]","C":"nzkpcwbu","Collection":"ingredientss"},{"Adder":"[{action: \"addLink\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]","C":"nzkpcwbu","Collection":"commentss"}] +=====query +subject_class("Recipe", C), collection_remover(C, Collection, Remover). +=====result +[{"C":"nzkpcwbu","Collection":"entriess","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"nzkpcwbu","Collection":"ingredientss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"nzkpcwbu","Collection":"commentss","Remover":"[{action: \"removeLink\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]"}] +=====query +subject_class("Recipe", C), collection_setter(C, Collection, Setter). +=====result +[{"C":"nzkpcwbu","Collection":"entriess","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"nzkpcwbu","Collection":"ingredientss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"},{"C":"nzkpcwbu","Collection":"commentss","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]"}] +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). +triple("ad4m://self", "", "literal://string:get%20proxy%20test"). +triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). +triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +triple("test://message", "ad4m://type", "ad4m://undefined"). +triple("test://message", "ad4m://type", "ad4m://message"). +triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). +triple("literal://string:test%20message", "todo://state", "todo://ready"). +triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). +triple("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1"). +triple("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link"). +triple("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink"). +triple("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test"). +triple("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test%20with%20where"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706790532891, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706790533421, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706790533626, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706790533710, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe", 1706790534160, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link", 1706790534369, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink", 1706790534459, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test", 1706790534565, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ad4m://type", "ad4m://recipe", 1706790536140, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", 1706790536360, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +languageAddress("literal://string:new%20comment", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:Test", "literal"). +languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageAddress("literal://string:test%20message", "literal"). +languageAddress("literal://string:Custom%20getter%20test", "literal"). +languageAddress("literal://string:Message", "literal"). +languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test", "literal"). +languageAddress("literal://string:Recipe", "literal"). +languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20collection%20test", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +languageName("literal://string:new%20comment", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:Test", "literal"). +languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageName("literal://string:test%20message", "literal"). +languageName("literal://string:Custom%20getter%20test", "literal"). +languageName("literal://string:Message", "literal"). +languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test", "literal"). +languageName("literal://string:Recipe", "literal"). +languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:Active%20record%20implementation%20test", "literal"). +languageName("literal://string:Active%20record%20implementation%20collection%20test", "literal"). +languageName("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). +languageName("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +expressionAddress("literal://string:new%20comment", "string:new%20comment"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:Test", "string:Test"). +expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). +expressionAddress("literal://string:test%20message", "string:test%20message"). +expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). +expressionAddress("literal://string:Message", "string:Message"). +expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). +expressionAddress("literal://string:Recipe", "string:Recipe"). +expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). +expressionAddress("literal://string:Active%20record%20implementation%20collection%20test", "string:Active%20record%20implementation%20collection%20test"). +expressionAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "string:Active%20record%20implementation%20test%20local%20link"). +expressionAddress("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "string:Active%20record%20implementation%20collection%20test%20with%20where"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +subject_class("Test", srksdbln). +constructor(srksdbln, '[]'). +destructor(srksdbln, '[]'). + +property(srksdbln, "number"). +property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", mqvvfluy). +constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(mqvvfluy, "type"). +property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(mqvvfluy, "body"). +property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", nzkpcwbu). +constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(nzkpcwbu, "type"). +property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(nzkpcwbu, "name"). +property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(nzkpcwbu, "local"). +property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(nzkpcwbu, "entries"). +collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "ingredients"). +collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "comments"). +collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). + +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class("Recipe", C), property_setter(C, "name", Setter). +=====result +[{"C":"nzkpcwbu","Setter":"[{action: \"setSingleTarget\", source: \"this\", predicate: \"recipe://name\", target: \"value\"}]"}] +=====query +subject_class("Recipe", C), property_resolve_language(C, "name", Language). +=====result +false +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). +triple("ad4m://self", "", "literal://string:get%20proxy%20test"). +triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). +triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +triple("test://message", "ad4m://type", "ad4m://undefined"). +triple("test://message", "ad4m://type", "ad4m://message"). +triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). +triple("literal://string:test%20message", "todo://state", "todo://ready"). +triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). +triple("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1"). +triple("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link"). +triple("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink"). +triple("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test"). +triple("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test%20with%20where"). +triple("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://name", "recipe://collection_test"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706790532891, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706790533421, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706790533626, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706790533710, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe", 1706790534160, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link", 1706790534369, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink", 1706790534459, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test", 1706790534565, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ad4m://type", "ad4m://recipe", 1706790536140, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", 1706790536360, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://name", "recipe://collection_test", 1706790536453, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +languageAddress("literal://string:new%20comment", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:Test", "literal"). +languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageAddress("literal://string:test%20message", "literal"). +languageAddress("literal://string:Custom%20getter%20test", "literal"). +languageAddress("literal://string:Message", "literal"). +languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test", "literal"). +languageAddress("literal://string:Recipe", "literal"). +languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20collection%20test", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +languageName("literal://string:new%20comment", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:Test", "literal"). +languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageName("literal://string:test%20message", "literal"). +languageName("literal://string:Custom%20getter%20test", "literal"). +languageName("literal://string:Message", "literal"). +languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test", "literal"). +languageName("literal://string:Recipe", "literal"). +languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:Active%20record%20implementation%20test", "literal"). +languageName("literal://string:Active%20record%20implementation%20collection%20test", "literal"). +languageName("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). +languageName("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +expressionAddress("literal://string:new%20comment", "string:new%20comment"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:Test", "string:Test"). +expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). +expressionAddress("literal://string:test%20message", "string:test%20message"). +expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). +expressionAddress("literal://string:Message", "string:Message"). +expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). +expressionAddress("literal://string:Recipe", "string:Recipe"). +expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). +expressionAddress("literal://string:Active%20record%20implementation%20collection%20test", "string:Active%20record%20implementation%20collection%20test"). +expressionAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "string:Active%20record%20implementation%20test%20local%20link"). +expressionAddress("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "string:Active%20record%20implementation%20collection%20test%20with%20where"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +subject_class("Test", srksdbln). +constructor(srksdbln, '[]'). +destructor(srksdbln, '[]'). + +property(srksdbln, "number"). +property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", mqvvfluy). +constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(mqvvfluy, "type"). +property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(mqvvfluy, "body"). +property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", nzkpcwbu). +constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(nzkpcwbu, "type"). +property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(nzkpcwbu, "name"). +property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(nzkpcwbu, "local"). +property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(nzkpcwbu, "entries"). +collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "ingredients"). +collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "comments"). +collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). + +=====query +subject_class("Recipe", C), collection_setter(C, "entriess", Setter). +=====result +[{"C":"nzkpcwbu","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://entries\", target: \"value\"}]"}] +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). +triple("ad4m://self", "", "literal://string:get%20proxy%20test"). +triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). +triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +triple("test://message", "ad4m://type", "ad4m://undefined"). +triple("test://message", "ad4m://type", "ad4m://message"). +triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). +triple("literal://string:test%20message", "todo://state", "todo://ready"). +triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). +triple("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1"). +triple("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link"). +triple("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink"). +triple("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test"). +triple("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test%20with%20where"). +triple("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://name", "recipe://collection_test"). +triple("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://entries", "literal://string:test%20recipes"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706790532891, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706790533421, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706790533626, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706790533710, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe", 1706790534160, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link", 1706790534369, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink", 1706790534459, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test", 1706790534565, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ad4m://type", "ad4m://recipe", 1706790536140, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", 1706790536360, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://name", "recipe://collection_test", 1706790536453, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://entries", "literal://string:test%20recipes", 1706790536538, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +languageAddress("literal://string:new%20comment", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:Test", "literal"). +languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageAddress("literal://string:test%20message", "literal"). +languageAddress("literal://string:Custom%20getter%20test", "literal"). +languageAddress("literal://string:Message", "literal"). +languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test", "literal"). +languageAddress("literal://string:Recipe", "literal"). +languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20collection%20test", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "literal"). +languageAddress("literal://string:test%20recipes", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +languageName("literal://string:new%20comment", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:Test", "literal"). +languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageName("literal://string:test%20message", "literal"). +languageName("literal://string:Custom%20getter%20test", "literal"). +languageName("literal://string:Message", "literal"). +languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test", "literal"). +languageName("literal://string:Recipe", "literal"). +languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:Active%20record%20implementation%20test", "literal"). +languageName("literal://string:Active%20record%20implementation%20collection%20test", "literal"). +languageName("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). +languageName("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "literal"). +languageName("literal://string:test%20recipes", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +expressionAddress("literal://string:new%20comment", "string:new%20comment"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:Test", "string:Test"). +expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). +expressionAddress("literal://string:test%20message", "string:test%20message"). +expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). +expressionAddress("literal://string:Message", "string:Message"). +expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). +expressionAddress("literal://string:Recipe", "string:Recipe"). +expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). +expressionAddress("literal://string:Active%20record%20implementation%20collection%20test", "string:Active%20record%20implementation%20collection%20test"). +expressionAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "string:Active%20record%20implementation%20test%20local%20link"). +expressionAddress("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "string:Active%20record%20implementation%20collection%20test%20with%20where"). +expressionAddress("literal://string:test%20recipes", "string:test%20recipes"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +subject_class("Test", srksdbln). +constructor(srksdbln, '[]'). +destructor(srksdbln, '[]'). + +property(srksdbln, "number"). +property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", mqvvfluy). +constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(mqvvfluy, "type"). +property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(mqvvfluy, "body"). +property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", nzkpcwbu). +constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(nzkpcwbu, "type"). +property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(nzkpcwbu, "name"). +property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(nzkpcwbu, "local"). +property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(nzkpcwbu, "entries"). +collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "ingredients"). +collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "comments"). +collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). + +=====query +subject_class("Recipe", C), collection_setter(C, "commentss", Setter). +=====result +[{"C":"nzkpcwbu","Setter":"[{action: \"collectionSetter\", source: \"this\", predicate: \"recipe://comment\", target: \"value\"}]"}] +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). +triple("ad4m://self", "", "literal://string:get%20proxy%20test"). +triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). +triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +triple("test://message", "ad4m://type", "ad4m://undefined"). +triple("test://message", "ad4m://type", "ad4m://message"). +triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). +triple("literal://string:test%20message", "todo://state", "todo://ready"). +triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). +triple("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1"). +triple("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link"). +triple("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink"). +triple("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test"). +triple("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test%20with%20where"). +triple("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://name", "recipe://collection_test"). +triple("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://entries", "literal://string:test%20recipes"). +triple("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://comment", "recipe://test"). +triple("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://comment", "recipe://test1"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706790532891, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706790533421, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706790533626, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706790533710, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe", 1706790534160, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link", 1706790534369, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink", 1706790534459, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test", 1706790534565, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ad4m://type", "ad4m://recipe", 1706790536140, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", 1706790536360, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://name", "recipe://collection_test", 1706790536453, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://entries", "literal://string:test%20recipes", 1706790536538, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://comment", "recipe://test", 1706790536620, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://comment", "recipe://test1", 1706790536620, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +languageAddress("literal://string:new%20comment", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:Test", "literal"). +languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageAddress("literal://string:test%20message", "literal"). +languageAddress("literal://string:Custom%20getter%20test", "literal"). +languageAddress("literal://string:Message", "literal"). +languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test", "literal"). +languageAddress("literal://string:Recipe", "literal"). +languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20collection%20test", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "literal"). +languageAddress("literal://string:test%20recipes", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +languageName("literal://string:new%20comment", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:Test", "literal"). +languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageName("literal://string:test%20message", "literal"). +languageName("literal://string:Custom%20getter%20test", "literal"). +languageName("literal://string:Message", "literal"). +languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test", "literal"). +languageName("literal://string:Recipe", "literal"). +languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:Active%20record%20implementation%20test", "literal"). +languageName("literal://string:Active%20record%20implementation%20collection%20test", "literal"). +languageName("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). +languageName("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "literal"). +languageName("literal://string:test%20recipes", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +expressionAddress("literal://string:new%20comment", "string:new%20comment"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:Test", "string:Test"). +expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). +expressionAddress("literal://string:test%20message", "string:test%20message"). +expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). +expressionAddress("literal://string:Message", "string:Message"). +expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). +expressionAddress("literal://string:Recipe", "string:Recipe"). +expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). +expressionAddress("literal://string:Active%20record%20implementation%20collection%20test", "string:Active%20record%20implementation%20collection%20test"). +expressionAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "string:Active%20record%20implementation%20test%20local%20link"). +expressionAddress("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "string:Active%20record%20implementation%20collection%20test%20with%20where"). +expressionAddress("literal://string:test%20recipes", "string:test%20recipes"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +subject_class("Test", srksdbln). +constructor(srksdbln, '[]'). +destructor(srksdbln, '[]'). + +property(srksdbln, "number"). +property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", mqvvfluy). +constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(mqvvfluy, "type"). +property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(mqvvfluy, "body"). +property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", nzkpcwbu). +constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(nzkpcwbu, "type"). +property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(nzkpcwbu, "name"). +property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(nzkpcwbu, "local"). +property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(nzkpcwbu, "entries"). +collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "ingredients"). +collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "comments"). +collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). + +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where"). +=====result +[{"C":"nzkpcwbu"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] +=====query +subject_class("Recipe", C), property_resolve(C, "type"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "type", Value). +=====result +[{"C":"nzkpcwbu","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), property_resolve(C, "name"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "name", Value). +=====result +[{"C":"nzkpcwbu","Value":"recipe://collection_test"}] +=====query +subject_class("Recipe", C), property_resolve(C, "local"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "local", Value). +=====result +false +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "entries", Value). +=====result +[{"C":"nzkpcwbu","Value":["literal://string:test%20recipes"]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ingredients", Value). +=====result +false +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "comments", Value). +=====result +[{"C":"nzkpcwbu","Value":["recipe://test","recipe://test1"]}] +=====consult +:- discontiguous(triple/3). +:- discontiguous(link/5). +triple("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("literal://string:get%20proxy%20test", "todo://state", "todo://ready"). +triple("literal://string:construct%20test", "todo://state", "todo://done"). +triple("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201"). +triple("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review"). +triple("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment"). +triple("ad4m://self", "", "literal://string:get%20proxy%20test"). +triple("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +triple("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Custom%20getter%20test", "todo://state", "todo://ready"). +triple("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup"). +triple("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +triple("test://message", "ad4m://type", "ad4m://undefined"). +triple("test://message", "ad4m://type", "ad4m://message"). +triple("literal://string:Collection%20where%20test", "todo://state", "todo://ready"). +triple("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message"). +triple("literal://string:test%20message", "ad4m://type", "ad4m://message"). +triple("literal://string:test%20message", "todo://state", "todo://ready"). +triple("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test"). +triple("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test"). +triple("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1"). +triple("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link"). +triple("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink"). +triple("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test"). +triple("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ad4m://type", "ad4m://recipe"). +triple("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test%20with%20where"). +triple("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://name", "recipe://collection_test"). +triple("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://entries", "literal://string:test%20recipes"). +triple("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://comment", "recipe://test"). +triple("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://comment", "recipe://test1"). +triple("literal://string:test%20recipes", "recipe://has_ingredient", "recipe://test"). +link("literal://string:Todo", "ad4m://sdna", "literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790526857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://state", "todo://ready", 1706790527083, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://state", "todo://done", 1706790527598, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790527659, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%201", 1706790527843, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:construct%20test", "todo://comment", "literal://string:new%20comment%202", 1706790527987, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://state", "todo://review", 1706790528951, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Decorated%20class%20construction%20test", "todo://comment", "literal://string:new%20comment", 1706790529000, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "", "literal://string:get%20proxy%20test", 1706790530132, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:get%20proxy%20test", "todo://has_title", "literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", 1706790530728, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Test", "ad4m://sdna", "literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", 1706790530798, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "todo://state", "todo://ready", 1706790530857, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test%20with%20prolog%20condition", "flux://entry_type", "literal://string:test%20message", 1706790531057, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "flux://has_reaction", "flux://thumbsup", 1706790531106, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "todo://state", "todo://ready", 1706790531172, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Custom%20getter%20test", "flux://has_reaction", "flux://thumbsup", 1706790531381, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Message", "ad4m://sdna", "literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", 1706790531428, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://undefined", 1706790531432, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("test://message", "ad4m://type", "ad4m://message", 1706790531482, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "todo://state", "todo://ready", 1706790531655, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Collection%20where%20test", "flux://entry_type", "literal://string:test%20message", 1706790531855, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "ad4m://type", "ad4m://message", 1706790531938, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20message", "todo://state", "todo://ready", 1706790531946, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Recipe", "ad4m://sdna", "literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", 1706790532143, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test", 1706790532420, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test", "recipe://name", "recipe://test1", 1706790532891, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "ad4m://type", "ad4m://recipe", 1706790533421, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test", 1706790533626, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://name", "recipe://collection_test", 1706790533710, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test", "recipe://comment", "recipe://test1", 1706790533799, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "ad4m://type", "ad4m://recipe", 1706790534160, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20test%20local%20link", 1706790534369, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://name", "recipe://locallink", 1706790534459, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20test%20local%20link", "recipe://local", "recipe://test", 1706790534565, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ad4m://type", "ad4m://recipe", 1706790536140, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("ad4m://self", "ad4m://has_child", "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", 1706790536360, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://name", "recipe://collection_test", 1706790536453, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://entries", "literal://string:test%20recipes", 1706790536538, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://comment", "recipe://test", 1706790536620, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "recipe://comment", "recipe://test1", 1706790536620, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +link("literal://string:test%20recipes", "recipe://has_ingredient", "recipe://test", 1706790536809, "did:key:z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp"). +:- discontiguous(reachable/2). +reachable(A,B) :- triple(A,_,B). +reachable(A,B) :- triple(A,_,X), reachable(X,B). +:- discontiguous(hiddenExpression/1). +:- discontiguous(languageAddress/2). +languageAddress("literal://string:Todo", "literal"). +languageAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:get%20proxy%20test", "literal"). +languageAddress("literal://string:construct%20test", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:new%20comment%201", "literal"). +languageAddress("literal://string:new%20comment%202", "literal"). +languageAddress("literal://string:Decorated%20class%20construction%20test", "literal"). +languageAddress("literal://string:new%20comment", "literal"). +languageAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageAddress("literal://string:Test", "literal"). +languageAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageAddress("literal://string:test%20message", "literal"). +languageAddress("literal://string:Custom%20getter%20test", "literal"). +languageAddress("literal://string:Message", "literal"). +languageAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageAddress("literal://string:Collection%20where%20test", "literal"). +languageAddress("literal://string:Recipe", "literal"). +languageAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20test", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20collection%20test", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). +languageAddress("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "literal"). +languageAddress("literal://string:test%20recipes", "literal"). +:- discontiguous(languageName/2). +languageName("literal://string:Todo", "literal"). +languageName("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:get%20proxy%20test", "literal"). +languageName("literal://string:construct%20test", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:new%20comment%201", "literal"). +languageName("literal://string:new%20comment%202", "literal"). +languageName("literal://string:Decorated%20class%20construction%20test", "literal"). +languageName("literal://string:new%20comment", "literal"). +languageName("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "literal"). +languageName("literal://string:Test", "literal"). +languageName("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test%20with%20prolog%20condition", "literal"). +languageName("literal://string:test%20message", "literal"). +languageName("literal://string:Custom%20getter%20test", "literal"). +languageName("literal://string:Message", "literal"). +languageName("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "literal"). +languageName("literal://string:Collection%20where%20test", "literal"). +languageName("literal://string:Recipe", "literal"). +languageName("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "literal"). +languageName("literal://string:Active%20record%20implementation%20test", "literal"). +languageName("literal://string:Active%20record%20implementation%20collection%20test", "literal"). +languageName("literal://string:Active%20record%20implementation%20test%20local%20link", "literal"). +languageName("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "literal"). +languageName("literal://string:test%20recipes", "literal"). +:- discontiguous(expressionAddress/2). +expressionAddress("literal://string:Todo", "string:Todo"). +expressionAddress("literal://string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Todo%22%2C%20c%29.%0Aconstructor%28c%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28c%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20_%29.%0A%0Adestructor%28c%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22state%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22state%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22state%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22title%22%29.%0Aproperty_resolve%28c%2C%20%22title%22%29.%0Aproperty_resolve_language%28c%2C%20%22title%22%2C%20%22literal%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22title%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fhas_title%22%2C%20Value%29.%0Aproperty_setter%28c%2C%20%22title%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fhas_title%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28c%2C%20%22isLiked%22%29.%0Aproperty_getter%28c%2C%20Base%2C%20%22isLiked%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%2C%20Value%20%3D%20true.%0A%0Acollection%28c%2C%20%22comments%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22todo%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22entries%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22messages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22messages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20instance%28OtherClass%2C%20Target%29%2C%20subject_class%28%22Message%22%2C%20OtherClass%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22messagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28c%2C%20%22likedMessages%22%29.%0Acollection_getter%28c%2C%20Base%2C%20%22likedMessages%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22flux%3A%2F%2Fentry_type%22%2C%20Target%29%2C%20triple%28Target%2C%20%22flux%3A%2F%2Fhas_reaction%22%2C%20%22flux%3A%2F%2Fthumbsup%22%29%29%2C%20List%29.%0Acollection_adder%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28c%2C%20%22likedMessagess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22flux%3A%2F%2Fentry_type%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:get%20proxy%20test", "string:get%20proxy%20test"). +expressionAddress("literal://string:construct%20test", "string:construct%20test"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A47.641Z%22%2C%22data%22%3A%22test%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%2210841c13759dcf7f36f291d3231782cfcb6455cb977ad59fc99301569f454924b03400167835f5ad5dc39ff64e193648b88645b965525f0fb66aaa73572ba602%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:new%20comment%201", "string:new%20comment%201"). +expressionAddress("literal://string:new%20comment%202", "string:new%20comment%202"). +expressionAddress("literal://string:Decorated%20class%20construction%20test", "string:Decorated%20class%20construction%20test"). +expressionAddress("literal://string:new%20comment", "string:new%20comment"). +expressionAddress("literal://json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D", "json:%7B%22author%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22timestamp%22%3A%222024-02-01T12%3A28%3A50.709Z%22%2C%22data%22%3A%22new%20title%22%2C%22proof%22%3A%7B%22key%22%3A%22did%3Akey%3Az6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%23z6MkfCr9Wg3J5EdakDEJQM3VdSRn6nDTSwtEd1AC8V7E4Qpp%22%2C%22signature%22%3A%228b38bc97dfc170aba49f2b5c085051194887b1f2b12a9636f2c7442c61c1509006deeed9017701d5e3705b353e5dc5ef318497c16f2018bc3aa7e0882acff502%22%2C%22valid%22%3Atrue%2C%22invalid%22%3Afalse%7D%7D"). +expressionAddress("literal://string:Test", "string:Test"). +expressionAddress("literal://string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A", "string:subject_class%28%22Test%22%2C%20srksdbln%29.%0Aconstructor%28srksdbln%2C%20%27%5B%5D%27%29.%0Adestructor%28srksdbln%2C%20%27%5B%5D%27%29.%0A%0Aproperty%28srksdbln%2C%20%22number%22%29.%0Aproperty_getter%28srksdbln%2C%20Base%2C%20%22number%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22test%3A%2F%2Ftest_numer%22%2C%20Value%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test%20with%20prolog%20condition", "string:Collection%20where%20test%20with%20prolog%20condition"). +expressionAddress("literal://string:test%20message", "string:test%20message"). +expressionAddress("literal://string:Custom%20getter%20test", "string:Custom%20getter%20test"). +expressionAddress("literal://string:Message", "string:Message"). +expressionAddress("literal://string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A", "string:subject_class%28%22Message%22%2C%20mqvvfluy%29.%0Aconstructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0Ainstance%28mqvvfluy%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Fmessage%22%29.%0A%0Adestructor%28mqvvfluy%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Fmessage%22%7D%2C%20%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22todo%3A%2F%2Fready%22%7D%5D%27%29.%0A%0Aproperty%28mqvvfluy%2C%20%22type%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28mqvvfluy%2C%20%22body%22%29.%0Aproperty_getter%28mqvvfluy%2C%20Base%2C%20%22body%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22todo%3A%2F%2Fstate%22%2C%20Value%29.%0Aproperty_setter%28mqvvfluy%2C%20%22body%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22todo%3A%2F%2Fstate%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0A"). +expressionAddress("literal://string:Collection%20where%20test", "string:Collection%20where%20test"). +expressionAddress("literal://string:Recipe", "string:Recipe"). +expressionAddress("literal://string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A", "string:subject_class%28%22Recipe%22%2C%20nzkpcwbu%29.%0Aconstructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0Ainstance%28nzkpcwbu%2C%20Base%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20%22ad4m%3A%2F%2Frecipe%22%29.%0A%0Adestructor%28nzkpcwbu%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22ad4m%3A%2F%2Ftype%22%2C%20target%3A%20%22ad4m%3A%2F%2Frecipe%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22type%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22type%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22ad4m%3A%2F%2Ftype%22%2C%20Value%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22name%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22name%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Fname%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22name%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fname%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Aproperty%28nzkpcwbu%2C%20%22local%22%29.%0Aproperty_getter%28nzkpcwbu%2C%20Base%2C%20%22local%22%2C%20Value%29%20%3A-%20triple%28Base%2C%20%22recipe%3A%2F%2Flocal%22%2C%20Value%29.%0Aproperty_setter%28nzkpcwbu%2C%20%22local%22%2C%20%27%5B%7Baction%3A%20%22setSingleTarget%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Flocal%22%2C%20target%3A%20%22value%22%2C%20local%3A%20true%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22entries%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22entries%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22entriess%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22ingredients%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22ingredients%22%2C%20List%29%20%3A-%20setof%28Target%2C%20%28triple%28Base%2C%20%22recipe%3A%2F%2Fentries%22%2C%20Target%29%2C%20triple%28Target%2C%20%22recipe%3A%2F%2Fhas_ingredient%22%2C%20%22recipe%3A%2F%2Ftest%22%29%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22ingredientss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fentries%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A%0Acollection%28nzkpcwbu%2C%20%22comments%22%29.%0Acollection_getter%28nzkpcwbu%2C%20Base%2C%20%22comments%22%2C%20List%29%20%3A-%20findall%28C%2C%20triple%28Base%2C%20%22recipe%3A%2F%2Fcomment%22%2C%20C%29%2C%20List%29.%0Acollection_adder%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22addLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_remover%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22removeLink%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0Acollection_setter%28nzkpcwbu%2C%20%22commentss%22%2C%20%27%5B%7Baction%3A%20%22collectionSetter%22%2C%20source%3A%20%22this%22%2C%20predicate%3A%20%22recipe%3A%2F%2Fcomment%22%2C%20target%3A%20%22value%22%7D%5D%27%29.%0A"). +expressionAddress("literal://string:Active%20record%20implementation%20test", "string:Active%20record%20implementation%20test"). +expressionAddress("literal://string:Active%20record%20implementation%20collection%20test", "string:Active%20record%20implementation%20collection%20test"). +expressionAddress("literal://string:Active%20record%20implementation%20test%20local%20link", "string:Active%20record%20implementation%20test%20local%20link"). +expressionAddress("literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "string:Active%20record%20implementation%20collection%20test%20with%20where"). +expressionAddress("literal://string:test%20recipes", "string:test%20recipes"). +:- discontiguous(register_sdna_flow/2). +:- discontiguous(flowable/2). +:- discontiguous(flow_state/3). +:- discontiguous(start_action/2). +:- discontiguous(action/4). +:- discontiguous(subject_class/2). +:- discontiguous(constructor/2). +:- discontiguous(destructor/2). +:- discontiguous(instance/2). +:- discontiguous(property/2). +:- discontiguous(property_getter/4). +:- discontiguous(property_setter/3). +:- discontiguous(property_resolve/2). +:- discontiguous(property_resolve_language/3). +:- discontiguous(property_named_option/4). +:- discontiguous(collection/2). +:- discontiguous(collection_getter/4). +:- discontiguous(collection_setter/3). +:- discontiguous(collection_remover/3). +:- discontiguous(collection_adder/3). +:- discontiguous(p3_class_icon/2). +:- discontiguous(p3_class_color/2). +:- discontiguous(p3_instance_color/3). +:- use_module(library(lists)). + +:- discontiguous(paginate/4). +paginate(Data, PageNumber, PageSize, PageData) :- + PageNumber > 0, + PageSize > 0, + length(Data, DataLength), + MaxSkip is max(0, DataLength - PageSize), + SkipCount is min((PageNumber - 1) * PageSize, MaxSkip), + skipN(Data, SkipCount, SkippedData), + takeN(SkippedData, PageSize, PageData). + +:- discontiguous(skipN/3). +skipN(Data, 0, Data). +skipN([_|Rest], N, SkippedData) :- + N > 0, + NextN is N - 1, + skipN(Rest, NextN, SkippedData). + +:- discontiguous(takeN/3). +takeN(_, 0, []). +takeN([Item|Rest], N, [Item|PageRest]) :- + N > 0, + NextN is N - 1, + takeN(Rest, NextN, PageRest). + +subject_class("Todo", c). +constructor(c, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(c, Base) :- triple(Base, "todo://state", _). + +destructor(c, '[{action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(c, "state"). +property_getter(c, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(c, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(c, "title"). +property_resolve(c, "title"). +property_resolve_language(c, "title", "literal"). +property_getter(c, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(c, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +property(c, "isLiked"). +property_getter(c, Base, "isLiked", Value) :- triple(Base, "flux://has_reaction", "flux://thumbsup"), Value = true. + +collection(c, "comments"). +collection_getter(c, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(c, "commentss", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_remover(c, "commentss", '[{action: "removeLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(c, "commentss", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +collection(c, "entries"). +collection_getter(c, Base, "entries", List) :- findall(C, triple(Base, "flux://entry_type", C), List). +collection_adder(c, "entriess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "entriess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "entriess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "messages"). +collection_getter(c, Base, "messages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), instance(OtherClass, Target), subject_class("Message", OtherClass)), List). +collection_adder(c, "messagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "messagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "messagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +collection(c, "likedMessages"). +collection_getter(c, Base, "likedMessages", List) :- setof(Target, (triple(Base, "flux://entry_type", Target), triple(Target, "flux://has_reaction", "flux://thumbsup")), List). +collection_adder(c, "likedMessagess", '[{action: "addLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_remover(c, "likedMessagess", '[{action: "removeLink", source: "this", predicate: "flux://entry_type", target: "value"}]'). +collection_setter(c, "likedMessagess", '[{action: "collectionSetter", source: "this", predicate: "flux://entry_type", target: "value"}]'). + +subject_class("Test", srksdbln). +constructor(srksdbln, '[]'). +destructor(srksdbln, '[]'). + +property(srksdbln, "number"). +property_getter(srksdbln, Base, "number", Value) :- triple(Base, "test://test_numer", Value). + + +subject_class("Message", mqvvfluy). +constructor(mqvvfluy, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(mqvvfluy, Base) :- triple(Base, "ad4m://type", "ad4m://message"). + +destructor(mqvvfluy, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://message"}, {action: "removeLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). + +property(mqvvfluy, "type"). +property_getter(mqvvfluy, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(mqvvfluy, "body"). +property_getter(mqvvfluy, Base, "body", Value) :- triple(Base, "todo://state", Value). +property_setter(mqvvfluy, "body", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + + +subject_class("Recipe", nzkpcwbu). +constructor(nzkpcwbu, '[{action: "addLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). +instance(nzkpcwbu, Base) :- triple(Base, "ad4m://type", "ad4m://recipe"). + +destructor(nzkpcwbu, '[{action: "removeLink", source: "this", predicate: "ad4m://type", target: "ad4m://recipe"}]'). + +property(nzkpcwbu, "type"). +property_getter(nzkpcwbu, Base, "type", Value) :- triple(Base, "ad4m://type", Value). + +property(nzkpcwbu, "name"). +property_getter(nzkpcwbu, Base, "name", Value) :- triple(Base, "recipe://name", Value). +property_setter(nzkpcwbu, "name", '[{action: "setSingleTarget", source: "this", predicate: "recipe://name", target: "value"}]'). + +property(nzkpcwbu, "local"). +property_getter(nzkpcwbu, Base, "local", Value) :- triple(Base, "recipe://local", Value). +property_setter(nzkpcwbu, "local", '[{action: "setSingleTarget", source: "this", predicate: "recipe://local", target: "value", local: true}]'). + +collection(nzkpcwbu, "entries"). +collection_getter(nzkpcwbu, Base, "entries", List) :- findall(C, triple(Base, "recipe://entries", C), List). +collection_adder(nzkpcwbu, "entriess", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "entriess", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "entriess", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "ingredients"). +collection_getter(nzkpcwbu, Base, "ingredients", List) :- setof(Target, (triple(Base, "recipe://entries", Target), triple(Target, "recipe://has_ingredient", "recipe://test")), List). +collection_adder(nzkpcwbu, "ingredientss", '[{action: "addLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_remover(nzkpcwbu, "ingredientss", '[{action: "removeLink", source: "this", predicate: "recipe://entries", target: "value"}]'). +collection_setter(nzkpcwbu, "ingredientss", '[{action: "collectionSetter", source: "this", predicate: "recipe://entries", target: "value"}]'). + +collection(nzkpcwbu, "comments"). +collection_getter(nzkpcwbu, Base, "comments", List) :- findall(C, triple(Base, "recipe://comment", C), List). +collection_adder(nzkpcwbu, "commentss", '[{action: "addLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_remover(nzkpcwbu, "commentss", '[{action: "removeLink", source: "this", predicate: "recipe://comment", target: "value"}]'). +collection_setter(nzkpcwbu, "commentss", '[{action: "collectionSetter", source: "this", predicate: "recipe://comment", target: "value"}]'). + +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where"). +=====result +[{"C":"nzkpcwbu"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] +=====query +subject_class("Recipe", C), property_resolve(C, "type"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "type", Value). +=====result +[{"C":"nzkpcwbu","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), property_resolve(C, "name"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "name", Value). +=====result +[{"C":"nzkpcwbu","Value":"recipe://collection_test"}] +=====query +subject_class("Recipe", C), property_resolve(C, "local"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "local", Value). +=====result +false +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "entries", Value). +=====result +[{"C":"nzkpcwbu","Value":["literal://string:test%20recipes"]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ingredients", Value). +=====result +[{"C":"nzkpcwbu","Value":["literal://string:test%20recipes"]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "comments", Value). +=====result +[{"C":"nzkpcwbu","Value":["recipe://test","recipe://test1"]}] +=====query +subject_class(Class, C), property(C, "type"), property(C, "name"), property(C, "local"), property_setter(C, "name", _), property_setter(C, "local", _), collection_adder(C, "entriess", _), collection_adder(C, "ingredientss", _), collection_adder(C, "commentss", _), collection_remover(C, "entriess", _), collection_remover(C, "ingredientss", _), collection_remover(C, "commentss", _), collection_setter(C, "entriess", _), collection_setter(C, "ingredientss", _), collection_setter(C, "commentss", _). +=====result +[{"C":"nzkpcwbu","Class":"Recipe"}] +=====query +subject_class("Recipe", C), instance(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where"). +=====result +[{"C":"nzkpcwbu"}] +=====query +subject_class("Recipe", C), property(C, Property). +=====result +[{"C":"nzkpcwbu","Property":"type"},{"C":"nzkpcwbu","Property":"name"},{"C":"nzkpcwbu","Property":"local"}] +=====query +subject_class("Recipe", C), property_resolve(C, "type"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "type", Value). +=====result +[{"C":"nzkpcwbu","Value":"ad4m://recipe"}] +=====query +subject_class("Recipe", C), property_resolve(C, "name"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "name", Value). +=====result +[{"C":"nzkpcwbu","Value":"recipe://collection_test"}] +=====query +subject_class("Recipe", C), property_resolve(C, "local"). +=====result +false +=====query +subject_class("Recipe", C), property_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "local", Value). +=====result +false +=====query +subject_class("Recipe", C), collection(C, Collection). +=====result +[{"C":"nzkpcwbu","Collection":"entries"},{"C":"nzkpcwbu","Collection":"ingredients"},{"C":"nzkpcwbu","Collection":"comments"}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "entries", Value). +=====result +[{"C":"nzkpcwbu","Value":["literal://string:test%20recipes"]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "ingredients", Value). +=====result +[{"C":"nzkpcwbu","Value":["literal://string:test%20recipes"]}] +=====query +subject_class("Recipe", C), collection_getter(C, "literal://string:Active%20record%20implementation%20collection%20test%20with%20where", "comments", Value). +=====result +[{"C":"nzkpcwbu","Value":["recipe://test","recipe://test1"]}] diff --git a/src/machine/lib_machine.rs b/src/machine/lib_machine.rs index f644be314..0bebfdc38 100644 --- a/src/machine/lib_machine.rs +++ b/src/machine/lib_machine.rs @@ -39,10 +39,10 @@ impl Machine { fn allocate_stub_choice_point(&mut self) { // NOTE: create a choice point to terminate the dispatch_loop - // if an exception is thrown. since the and/or stack is presumed empty, + // if an exception is thrown. let stub_b = self.machine_st.stack.allocate_or_frame(0); - let or_frame = self.machine_st.stack.index_or_frame_mut(0); + let or_frame = self.machine_st.stack.index_or_frame_mut(stub_b); or_frame.prelude.num_cells = 0; or_frame.prelude.e = 0; @@ -58,6 +58,7 @@ impl Machine { self.machine_st.b = stub_b; self.machine_st.hb = self.machine_st.heap.len(); + self.machine_st.block = stub_b; } pub fn run_query(&mut self, query: String) -> QueryResult { @@ -72,24 +73,13 @@ impl Machine { .read_term(&op_dir, Tokens::Default) .expect("Failed to parse query"); + self.allocate_stub_choice_point(); + // Write parsed term to heap let term_write_result = write_term_to_heap(&term, &mut self.machine_st.heap, &self.machine_st.atom_tbl) .expect("couldn't write term to heap"); - // Write term to heap - self.machine_st.registers[1] = self.machine_st.heap[term_write_result.heap_loc]; - - self.machine_st.cp = LIB_QUERY_SUCCESS; // BREAK_FROM_DISPATCH_LOOP_LOC; - self.machine_st.p = self - .indices - .code_dir - .get(&(atom!("call"), 1)) - .expect("couldn't get code index") - .local() - .unwrap(); - self.machine_st.b0 = self.machine_st.b; - let var_names: IndexMap<_, _> = term_write_result .var_dict .iter() @@ -102,7 +92,19 @@ impl Machine { }) .collect(); - self.allocate_stub_choice_point(); + // Write term to heap + self.machine_st.registers[1] = self.machine_st.heap[term_write_result.heap_loc]; + + self.machine_st.cp = LIB_QUERY_SUCCESS; // BREAK_FROM_DISPATCH_LOOP_LOC; + let call_index_p = self + .indices + .code_dir + .get(&(atom!("call"), 1)) + .expect("couldn't get code index") + .local() + .unwrap(); + + self.machine_st.execute_at_index(1, call_index_p); let stub_b = self.machine_st.b; @@ -156,17 +158,17 @@ impl Machine { }; */ - if term_write_result.var_dict.is_empty() { - if self.machine_st.p == LIB_QUERY_SUCCESS { + if self.machine_st.p == LIB_QUERY_SUCCESS { + if term_write_result.var_dict.is_empty() { matches.push(QueryResolutionLine::True); break; - } else if self.machine_st.p == BREAK_FROM_DISPATCH_LOOP_LOC { - // NOTE: only print results on success - // self.machine_st.fail = false; - // println!("b == stub_b"); - matches.push(QueryResolutionLine::False); - break; } + } else if self.machine_st.p == BREAK_FROM_DISPATCH_LOOP_LOC { + // NOTE: only print results on success + // self.machine_st.fail = false; + // println!("b == stub_b"); + matches.push(QueryResolutionLine::False); + break; } let mut bindings: BTreeMap = BTreeMap::new(); @@ -462,6 +464,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 @@ -474,20 +477,24 @@ mod tests { // Check if the block is a query if let Some(query) = block.strip_prefix("query") { - i += 1; - 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); + 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") { + i += 1; + if let Some(Ok(ref last_result)) = last_result { + println!( + "\n\n=====Result No. {}=======\n{}\n===============", + i, + last_result.to_string().trim() + ); + assert_eq!(last_result.to_string().trim(), result.to_string().trim(),) + } } } } @@ -524,4 +531,82 @@ mod tests { ),])) ); } + + #[test] + fn dont_return_partial_matches() { + let mut machine = Machine::new_lib(); + + machine.consult_module_string( + "facts", + String::from( + r#" + :- discontiguous(property_resolve/2). + subject_class("Todo", c). + "#, + ), + ); + + let query = String::from(r#"property_resolve(C, "isLiked"), subject_class("Todo", C)."#); + let output = machine.run_query(query); + assert_eq!(output, Ok(QueryResolution::False)); + + let query = String::from(r#"subject_class("Todo", C), property_resolve(C, "isLiked")."#); + let output = machine.run_query(query); + assert_eq!(output, Ok(QueryResolution::False)); + } + + #[test] + fn dont_return_partial_matches_without_discountiguous() { + let mut machine = Machine::new_lib(); + + machine.consult_module_string( + "facts", + String::from( + r#" + a("true for a"). + b("true for b"). + "#, + ), + ); + + let query = String::from(r#"a("true for a")."#); + let output = machine.run_query(query); + assert_eq!(output, Ok(QueryResolution::True)); + + let query = String::from(r#"a("true for a"), b("true for b")."#); + let output = machine.run_query(query); + assert_eq!(output, Ok(QueryResolution::True)); + + let query = String::from(r#"a("true for b"), b("true for b")."#); + let output = machine.run_query(query); + assert_eq!(output, Ok(QueryResolution::False)); + + let query = String::from(r#"a("true for a"), b("true for a")."#); + let output = machine.run_query(query); + assert_eq!(output, Ok(QueryResolution::False)); + } + + #[test] + fn non_existent_predicate_should_not_cause_panic_when_other_predicates_are_defined() { + let mut machine = Machine::new_lib(); + + machine.consult_module_string( + "facts", + String::from( + r#" + triple("a", "p1", "b"). + triple("a", "p2", "b"). + "#, + ), + ); + + let query = String::from("non_existent_predicate(\"a\",\"p1\",\"b\")."); + + let result = machine.run_query(query); + + assert_eq!( + result, + Err(String::from("error existence_error procedure / non_existent_predicate 3 / non_existent_predicate 3")) + ); + } } diff --git a/src/machine/machine_errors.rs b/src/machine/machine_errors.rs index c2cbb4053..5860fb5d7 100644 --- a/src/machine/machine_errors.rs +++ b/src/machine/machine_errors.rs @@ -1022,19 +1022,6 @@ pub enum SessionError { QueryCannotBeDefinedAsFact, } -#[derive(Debug)] -pub(crate) enum EvalSession { - // EntrySuccess, - Error(SessionError), -} - -impl From for EvalSession { - #[inline] - fn from(err: SessionError) -> Self { - EvalSession::Error(err) - } -} - impl From for SessionError { #[inline] fn from(err: std::io::Error) -> SessionError { @@ -1055,10 +1042,3 @@ impl From for SessionError { SessionError::CompilationError(err) } } - -impl From for EvalSession { - #[inline] - fn from(err: ParserError) -> Self { - EvalSession::from(SessionError::from(err)) - } -} diff --git a/src/machine/parsed_results.rs b/src/machine/parsed_results.rs index bbc9b0912..9c635f055 100644 --- a/src/machine/parsed_results.rs +++ b/src/machine/parsed_results.rs @@ -13,6 +13,84 @@ pub enum QueryResolution { Matches(Vec), } +pub fn prolog_value_to_json_string(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(','); + } + string_result.push_str(&prolog_value_to_json_string(v.clone())); + } + string_result.push(']'); + 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(','); + } + string_result.push_str(&prolog_value_to_json_string(v.clone())); + } + string_result.push(']'); + 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(','); + } + string_result.push_str(&format!( + "\"{}\":{}", + k, + prolog_value_to_json_string(v.clone()) + )); + } + string_result.push('}'); + 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(prolog_match_to_json_string).collect(); + format!("[{}]", matches_json.join(",")) + } + } + } +} + #[derive(Debug, Clone, PartialEq, Eq)] pub struct QueryMatch { pub bindings: BTreeMap, diff --git a/src/parser/char_reader.rs b/src/parser/char_reader.rs index aa1813a9d..9febf0fdd 100644 --- a/src/parser/char_reader.rs +++ b/src/parser/char_reader.rs @@ -229,7 +229,7 @@ impl CharRead for CharReader { match self.inner.read(word_slice) { Err(e) => return Some(Err(e)), - Ok(nread) if nread == 0 => return Some(Err(bad_bytes_error(&self.buf))), + Ok(0) => return Some(Err(bad_bytes_error(&self.buf))), Ok(nread) => { self.buf.extend_from_slice(&word_slice[0..nread]); } diff --git a/tests/scryer/main.rs b/tests/scryer/main.rs index d1e826f0f..878f0d900 100644 --- a/tests/scryer/main.rs +++ b/tests/scryer/main.rs @@ -13,6 +13,7 @@ mod src_tests; /// to re-generate all reference output files run `TRYCMD=overwrite cargo test -- cli_test` /// then check that the changes are as expected e.g. by looking at the `git diff` #[test] +#[cfg(not(all(target_arch = "wasm32", target_os = "unknown")))] #[cfg_attr(miri, ignore = "blocked on crossbeam UB")] fn cli_tests() { trycmd::TestCases::new()