Hi,

can you give an example what you're trying to achieve? And what is the use case? Query optimization? Text to SPARQL? Are you talking about SPARQL, SHeX or SHACL?

In case of SPARQL queries, decomposing a SPARQL query into some sub-structures depends on what you assume being parts for your use case.

Also, I'm not sure what you consider as [Start|Path|Sink]-Patterns? Are those common terms?


On 17.04.24 23:44, Hashim Khan wrote:
Hi,

Using Apache Jena, decomposing a SPARQL query into sub-queries based on its
shape is what I need.

Indeed, you can see a SPARQL query as a graph - some people talk about query graphs - and then you could apply common graph-based techniques to divide the graph into parts. Traversing the SPARQL structure can be done on the "Element" layer in Jena code.

But I personally, would simply convert the SPARQL query (or maybe the algebra) to some JGraphT graph and then work on the method from this graph-driven framework. At least that's how we were doing it in the past. Indeed, this is mostly

  So far, I found a class for StartPattern and I am
wondering if someone can tell me about such a resource for "path
pattern" and "Sink pattern" ... Thanks in advance
I don't see a class StartPattern in the code, that's only something in the context of SHeX.


Best,

--
Lorenz Bühmann
Research Associate/Scientific Developer

Email [email protected]

Institute for Applied Informatics e.V. (InfAI) | Goerdelerring 9 | 04109 
Leipzig | Germany

Reply via email to