diff options
author | Corentin Noël <corentin@elementary.io> | 2018-11-23 12:49:11 +0100 |
---|---|---|
committer | Corentin Noël <corentin@elementary.io> | 2018-11-23 12:49:11 +0100 |
commit | 515d2676ebdb731f07e6c04e4b946e78281bb476 (patch) | |
tree | 07bf8e8cab3a938e887f0a1bc0dbcebcec754b54 | |
parent | 8560317c15d890e8ecfbda9e12cc45cbfda5eb7e (diff) | |
download | zeitgeist-515d2676ebdb731f07e6c04e4b946e78281bb476.tar.gz |
Use rdflib directly to parse the trig files
-rwxr-xr-x | data/ontology2code | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/data/ontology2code b/data/ontology2code index c4bfd842..6bb0023a 100755 --- a/data/ontology2code +++ b/data/ontology2code @@ -193,24 +193,19 @@ class OntologyParser: symbols = None def __init__(self, directory): - rdfxml = self._load_rdfxml_from_trig_directory(directory) - self.symbols = self._parse(rdfxml) - - @staticmethod - def _load_rdfxml_from_trig_directory(directory): if not os.path.isdir(directory): raise SystemExit, 'Directory doesn\'t exist: %s' % directory - files = ' '.join(glob.glob(os.path.join(directory, '*.trig'))) - return commands.getoutput( - "cat %s | rapper -i trig -o rdfxml -I ZeitgeistNamespace - " \ - "2>/dev/null" % files) + self.symbols = self._parse(glob.glob(os.path.join(directory, '*.trig'))) - def _parse(self, rdfxml_stream): + def _parse(self, trig_files): """ Parse an RDFXML stream into a SymbolCollection. """ + ontology = rdflib.ConjunctiveGraph() - ontology.parse(StringInputSource(rdfxml_stream)) + for trig_path in trig_files: + with open(trig_path, "r") as trig_file: + ontology.parse(trig_file, format='trig') def _get_all_classes(*super_classes): for cls in super_classes: |