Select * pystardog bug

So, here is a very bizarre bug ... I did a "select * from <named_graph=urn:ontology> where {?s ?p ?o}" and returned sparql-json.

When working through the binding sets, I got ...

{'p': {'type': 'uri', 'value': 'urn:myontology:label'}, 's': {'type': 'uri', 'value': 'urn:myontology:SpecificClassName'}, 'o': {'type': 'literal', 'value': 'Specific Label for the Class'}}
{'p': {'type': 'uri', 'value': 'urn:myontology:label'}, 's': {'type': 'uri', 'value': 'urn:myontology:SpecificClassName'}, 'o': {'type': 'literal', 'value': 'Specific Label for the Class'}}
{'p': {'type': 'uri', 'value': 'urn:myontology:specificProperty'}, 's': {'type': 'statement', 's': {'type': 'uri', 'value': 'urn:myontology:SpecificClassName'}, 'p': {'type': 'uri', 'value': 'urn:myontology:indicatedBy'}, 'o': {'type': 'uri', 'value': 'urn:myontology:AnotherSpecificClassName'}, 'g': {'type': 'uri', 'value': 'urn:ontology'}}, 'o': {'type': 'literal', 'value': ':startTime'}}

Note the repeating binding sets and then getting back a binding set with variables, p, s, s, p, o, g, o. The "g" is indeed the graph name.

I can send the ontology that was queried (but can't post it). The problem does not happen in Stardog Studio (or if it does, I don't see it).

Andrea

Hi Andrea,
That's the edge property.

But, it is not defined that way ... in the ontology ... In actual instances, yes, but not this ontology.

Andrea

What data have you loaded and what do you expect should be different?

I can send the definition to you ... offline.

I would not have expected duplicated s p o ... binding sets or getting back variables other than s p o.

Andrea

If you stored data as edge properties, this what it will look like. You will get back the statement with the edge property as a ?s binding and the edge property and object in the ?p and ?o bindings.

Perhaps try changing your query to ?x ?y ?z to avoid the overlap of binding names with the statement value.