scratch.lua 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. term = require "lsup.term"
  2. triple = require "lsup.triple"
  3. graph = require "lsup.graph"
  4. store = require "lsup.store"
  5. ---[[
  6. t1 = term.new_bnode()
  7. t2 = term.new_iriref("urn:p:11")
  8. t3 = term.new_lit("123", "xsd:int")
  9. t4 = term.new_lit("Hola", nil, "es_ES")
  10. t5 = term.new_lit("مرحبا", nil, "ar_AR")
  11. trp1 = triple.new (
  12. term.new_iriref("urn:s:1"),
  13. term.new_iriref("urn:p:1"),
  14. term.new_lit("hello", nil, "en_US"))
  15. triples = {
  16. trp1,
  17. triple.new (t1, t2, t3),
  18. triple.new (t1, t2, t4),
  19. triple.new (t1, t2, t5),
  20. }
  21. mdb_store = store.new(store.MDB, "file:///tmp/lsup_lua.db", true)
  22. print("MDB store: ".. type(mdb_store))
  23. gr1 = graph.new(mdb_store)
  24. ct = gr1:add(triples)
  25. print("Triples added: " .. ct)
  26. --[[
  27. print("graph 2")
  28. gr2 = graph.new(mdb_store)
  29. print("graph 3")
  30. gr3 = graph.new()
  31. --]]
  32. for i in gr1:lookup(t1) do print(i) end
  33. ---[[
  34. lm = gr1:connections(t1, term.LINK_OUTBOUND)
  35. print("Connections")
  36. for t1, ts in pairs(lm) do
  37. for t2 in pairs(ts) do print(t1, t2) end
  38. end
  39. unique_t = gr1:unique_terms(triple.POS_S)
  40. print("Unique subjects")
  41. for t in pairs(unique_t) do print(t) end
  42. print("Unique predicates")
  43. unique_t = gr1:unique_terms(triple.POS_P)
  44. for t in pairs(unique_t) do print(t) end
  45. print("Unique objects")
  46. unique_t = gr1:unique_terms(triple.POS_O)
  47. for t in pairs(unique_t) do print(t) end
  48. print("Terms connected to t1 t2:")
  49. tset = gr1:term_set(t2, triple.POS_P, t1, triple.POS_S)
  50. for t in pairs(tset) do print(t) end
  51. --]]