summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorentin Noël <corentin@elementary.io>2018-11-23 12:49:11 +0100
committerCorentin Noël <corentin@elementary.io>2018-11-23 12:49:11 +0100
commit515d2676ebdb731f07e6c04e4b946e78281bb476 (patch)
tree07bf8e8cab3a938e887f0a1bc0dbcebcec754b54
parent8560317c15d890e8ecfbda9e12cc45cbfda5eb7e (diff)
downloadzeitgeist-515d2676ebdb731f07e6c04e4b946e78281bb476.tar.gz
Use rdflib directly to parse the trig files
-rwxr-xr-xdata/ontology2code17
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: