diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2016-12-28 15:29:30 +0100 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2016-12-28 15:29:30 +0100 |
commit | db85189ea87b214d3649138fcd943a942bf8c530 (patch) | |
tree | 2143631777724aba4a2f5fe206489b379745b9d8 /trygvis/eda/cli/__init__.py | |
parent | 117431b9511be07db8ce53526dbb985b5fad00a2 (diff) | |
download | eda-rdf-db85189ea87b214d3649138fcd943a942bf8c530.tar.gz eda-rdf-db85189ea87b214d3649138fcd943a942bf8c530.tar.bz2 eda-rdf-db85189ea87b214d3649138fcd943a942bf8c530.tar.xz eda-rdf-db85189ea87b214d3649138fcd943a942bf8c530.zip |
o SPARQL doesn't like blank nodes to generate some URLs for blank nodes from KiCAD schematics.
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: |