query = RDF.SPARQLQuery(str(formatted_query))
rdfstream = query.execute(self.model)
results = []
- for r in rdfstream:
- results.append(r)
+ for record in rdfstream:
+ d = {}
+ for key, value in record.items():
+ d[key] = fromTypedNode(value)
+ results.append(d)
return results
def fromTypedNode(node):
"""Convert a typed RDF Node to its closest python equivalent
"""
- if node is None:
- return None
+ if not isinstance(node, RDF.Node):
+ return node
+ if node.is_resource():
+ return node
value_type = get_node_type(node)
literal = node.literal_value['string']