aboutsummaryrefslogtreecommitdiff
path: root/trygvis/eda/cli/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'trygvis/eda/cli/__init__.py')
-rw-r--r--trygvis/eda/cli/__init__.py22
1 files changed, 19 insertions, 3 deletions
diff --git a/trygvis/eda/cli/__init__.py b/trygvis/eda/cli/__init__.py
index 8050d6d..04de836 100644
--- a/trygvis/eda/cli/__init__.py
+++ b/trygvis/eda/cli/__init__.py
@@ -44,19 +44,32 @@ def with_database(tx):
elif rt != store.VALID_STORE:
raise CliException("The database is corrupt: %s" % path)
elif db_type == 'sparql':
- g = sparqlstore.SPARQLStore()
- g.open(config["db"]["url"])
+ query_endpoint = config["db"]["url"]
+ update_endpoint = config["db"]["update_url"]
+
+ if update_endpoint is None:
+ g = sparqlstore.SPARQLStore()
+ g.open(query_endpoint)
+ else:
+ # def my_bnode_ext(node):
+ # if isinstance(node, BNode):
+ # return '<bnode:b%s>' % node
+ # else:
+ # return sparqlstore._node_to_sparql(node)
+ g = sparqlstore.SPARQLUpdateStore(autocommit=False)
+ g.open((query_endpoint, update_endpoint))
else:
raise CliException("Unknown db.type: %s" % db_type)
try:
print("g=%s" % g)
tx(g)
+ g.commit()
finally:
g.close()
-def create_graph(digikey=False, kicad=False):
+def create_graph(digikey=False, kicad=False) -> Graph:
g = Graph()
if digikey:
@@ -105,6 +118,9 @@ _initNs = {
def sparql(g: Graph, query: str, init_bindings=None):
+ # for k, v in _initNs.items():
+ # print("PREFIX %s: <%s>" % (k, v))
+
if isinstance(g, sparqlstore.SPARQLStore):
return g.query(query, initNs=_initNs, initBindings=init_bindings)
else: