term = require "lsup.term" triple = require "lsup.triple" graph = require "lsup.graph" store = require "lsup.store" ---[[ 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), } mdb_store = store.new(store.MDB, "file:///tmp/lsup_lua.db", true) print("MDB store: ".. type(mdb_store)) gr1 = graph.new(mdb_store) ct = gr1:add(triples) print("Triples added: " .. ct) --[[ print("graph 2") gr2 = graph.new(mdb_store) print("graph 3") gr3 = graph.new() --]] for i in gr1:lookup(t1) 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 print("Terms connected to t1 t2:") tset = gr1:term_set(t2, triple.POS_P, t1, triple.POS_S) for t in pairs(tset) do print(t) end --]]