diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2016-12-27 22:24:37 +0100 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2016-12-27 22:24:37 +0100 |
commit | 9bf18900c05547a40bb3c3a7a819a137e81dae92 (patch) | |
tree | acd7047e5650091854a19da838108dd8570591e1 /trygvis/eda/cli/__init__.py | |
parent | 67013ae17af0436b930dce450a813239be969601 (diff) | |
download | eda-rdf-9bf18900c05547a40bb3c3a7a819a137e81dae92.tar.gz eda-rdf-9bf18900c05547a40bb3c3a7a819a137e81dae92.tar.bz2 eda-rdf-9bf18900c05547a40bb3c3a7a819a137e81dae92.tar.xz eda-rdf-9bf18900c05547a40bb3c3a7a819a137e81dae92.zip |
o Adding a 'db-stats' application for summarizing the contents of the database.
o Starting on make-bom. Extremely slow when using rdflib (~8 minutes), jena is very fast (~50 ms).
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) |