term = require "lsup.term" triple = require "lsup.triple" graph = require "lsup.graph" ---[[ t1 = term.new_bnode() t2 = term.new_iriref("urn:p:11") t3 = term.new_lit("123", "xsd:int") t4 = term.new_lit("Hola", nil, "es_ES") t5 = term.new_lit("مرحبا", nil, "ar_AR") trp1 = triple.new ( term.new_iriref("urn:s:1"), term.new_iriref("urn:p:1"), term.new_lit("hello", nil, "en_US")) triples = { trp1, triple.new (t1, t2, t3), triple.new (t1, t2, t4), triple.new (t1, t2, t5), } gr1 = graph.new() ct = gr1:add(triples) print("Triples added: " .. ct) gr2 = graph.new() for i in gr1:lookup() do print(i) end lm = gr1:connections(t1, term.LINK_OUTBOUND) print("Connections") for t1, ts in pairs(lm) do for t2 in pairs(ts) do print(t1, t2) end end unique_t = gr1:unique_terms(triple.POS_S) print("Unique subjects") for t in pairs(unique_t) do print(t) end print("Unique predicates") unique_t = gr1:unique_terms(triple.POS_P) for t in pairs(unique_t) do print(t) end print("Unique objects") unique_t = gr1:unique_terms(triple.POS_O) for t in pairs(unique_t) do print(t) end --]]