diff options
Diffstat (limited to 'trygvis/eda/cli/__init__.py')
-rw-r--r-- | trygvis/eda/cli/__init__.py | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/trygvis/eda/cli/__init__.py b/trygvis/eda/cli/__init__.py index aa9e57e..9cfb710 100644 --- a/trygvis/eda/cli/__init__.py +++ b/trygvis/eda/cli/__init__.py @@ -1,9 +1,8 @@ import sys import logging -from rdflib import ConjunctiveGraph -from rdflib import Graph -from rdflib import store +from rdflib import store, ConjunctiveGraph, Graph, RDF, RDFS +from rdflib.plugins.sparql import prepareQuery from ..digikey import rdf as digikey_rdf from ..kicad import rdf as kicad_rdf @@ -24,7 +23,7 @@ def info(msg=None): sys.stderr.write("\n") -def exit(msg=None): +def do_exit(msg=None): sys.exit(msg) @@ -54,3 +53,21 @@ def create_graph(digikey=False, kicad=False): g.bind("kicad", kicad_rdf.KICAD) g.bind("kicad-type", kicad_rdf.KICAD_TYPE) return g + + +_initNs = { + "rdf": RDF, + "rdfs": RDFS, + "dk": digikey_rdf.DIGIKEY, + "dk-attr-type": digikey_rdf.DIGIKEY_ATTRIBUTE_TYPE, + "dk-attr-value": digikey_rdf.DIGIKEY_ATTRIBUTE_VALUE, + "dk-part": digikey_rdf.DIGIKEY_PART, + "dk-p-c": digikey_rdf.DIGIKEY_PRODUCT_CATEGORY, + "kicad": kicad_rdf.KICAD, + "kicad-type": kicad_rdf.KICAD_TYPE} + + +def sparql(g, query, init_bindings = None): + q = prepareQuery(query, initNs=_initNs) + + return g.query(q, initBindings=init_bindings) |