Browse Source

First parts of RDF start working!

Yentl Van Tendeloo 8 years ago
parent
commit
f393321e87
1 changed files with 8 additions and 8 deletions
  1. 8 8
      state/modelverse_state/rdf.py

+ 8 - 8
state/modelverse_state/rdf.py

@@ -196,20 +196,20 @@ class ModelverseState(object):
             return (None, status.FAIL_RDICT_OOB)
 
         q = """
-            SELECT ?value
+            SELECT ?value_node
             WHERE {
-                ?main_edge MV:hasSource _:%s .
-                ?main_edge MV:hasTarget ?value_node .
-                ?value_node MV:hasValue ?value .
+                ?main_edge MV:hasSource _:%s ;
+                           MV:hasTarget ?value_node .
+                ?attr_edge MV:hasSource ?main_edge ;
+                           MV:hasTarget ?attr_node .
+                ?attr_node MV:hasValue '%s' .
             }
-            """ % (node)
+            """ % (node, json.dumps(value))
         print(q)
         result = self.graph.query(q)
-        print(len(result))
-        print([i for i in result])
         if len(result) == 0:
             return (None, status.FAIL_RDICT_NOT_FOUND)
-        return (result[0], status.SUCCESS)
+        return (list(result)[0][0], status.SUCCESS)
 
     def read_dict_keys(self, node):
         if not isinstance(node, rdflib.BNode):