Hi,
Is there a way to influence the seralization of a query result. I don’t mean the option to choose the format (RDF/XML, Turtle, …) but within a given format.
For example, I have RDF-data ike this:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:s="http://example/schema/">
<rdf:Description about="http://example/alice">
<s:likes rdf:resource="http://example/strawberry"
s:color="red"
s:taste="sweet"/>
<s:likes rdf:resource="http://example/river"
s:color="blue"
s:temperature="cold"/>
</rdf:Description>
</rdf:RDF>
The point here is that the information is nested: alice likes two objects (strawberry, river) which have properties on their own.
Now, let’s query this data with this construct:
prefix : <http://example/>
prefix s: <http://example/schema/>
construct {
?person s:likes ?object.
?object ?property ?value.
}
where {
?person s:likes ?object.
?object ?property ?value.
}
this returns all the information of the original data above. However, stardog serializes it in flat a structure:
<rdf:RDF>
<rdf:Description rdf:about="http://example/alice">
<s:likes rdf:resource="http://example/strawberry"/>
</rdf:Description>
<rdf:Description rdf:about="http://example/strawberry">
<s:color>red</s:color>
<s:taste>sweet</s:taste>
</rdf:Description>
<rdf:Description rdf:about="http://example/alice">
<s:likes rdf:resource="http://example/river"/>
</rdf:Description>
<rdf:Description rdf:about="http://example/river">
<s:color>blue</s:color>
<s:temperature>cold</s:temperature>
</rdf:Description>
</rdf:RDF>
Is there a way to force stardog to try to group information whenever possible in such a scenario?
Cheers,
Immanuel