sparql.anything
sparql.anything copied to clipboard
Implementation architecture
Hi all!
I was wondering if there is some info on how SPARQL Anything is implemented? I gather it's mostly Jena, but a diagram of all the components would be helpful in case one were to make improvements.
Agreed, we need to develop some technical documentation on the implementation, e.g. how to develop new functions or new adapters.
Key places to look at are:
- The command line interface (to see the end-to-end process): SPARQLAnything.java
- The query executor, who handles parameters and runs the triplifiers: FacadeXOpExecutor.java
- A register of available triplifiers and extension functions: FacadeX.java
- The triplifiers themselves, for example CSV, JSON, or Markdown
- The FX builder, which is used by the triplifiers, the default is TripleFilteringFacadeXGraphBuilder.java
Hope this helps
I know this doesn't address the absence of documentation but my general approach for getting the lay of the land is to find a line(s) of code I basically understand (in isolation) and then insert a break point there or add a "print stack trace" statement to see how execution arrives there. That is usually enough to orient me and then my own interest in the project has to take me the rest of the way.