diff options
Diffstat (limited to 'trygvis/eda/cli/__init__.py')
-rw-r--r-- | trygvis/eda/cli/__init__.py | 22 |
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: |