Open rahuldh2006 opened 3 years ago
Hi rahuldh2006,
Thanks for spotting this error. This is due to the fact that the the CSPARQL engine is using an old version of Apache Jena, which is much older than the one in RSP4J.
For now, I would suggest you to use the more recent CSPARQL2.0 library: https://github.com/streamreasoning/csparql2 It is also build on top op RSP4J.
Or do you want to specifically use CSPARQL1.0?
Thanks for the prompt information, Pieter. I will use CSPARQL2.0 library with RSP4J.
What is the Maven dependency to be included in RSP4J pom for CSPARQL2.0 (like for CSPARQL 1.0 in RSP4J, it is as below)
"
<artifactId>CSPARQL-engine</artifactId>
<version>0.9.5.1-pomfix</version>
</dependency>"
You can use CSPARQL2.0 using the following maven dependency:
<dependency>
<groupId>com.github.streamreasoning</groupId>
<artifactId>csparql2</artifactId>
<version>2.0</version>
</dependency>
In RSP4J, when I try to use CSPARQLEngineRSP4J with Jena related objects (for example, JenaRDFParsingStrategy), I get below exception.
Exception in thread "main" java.lang.NoSuchMethodError: 'java.lang.Object org.apache.jena.atlas.lib.Cache.getIfPresent(java.lang.Object)'
Code fragment :
CSPARQLEngineRSP4J csparql = new CSPARQLEngineRSP4J();
JenaRDFParsingStrategy parsingStrategy = new JenaRDFParsingStrategy(RDFBase.TTL);
String filePath = "stream.log"; FileSource fileSource = new FileSource(filePath, 100, parsingStrategy);
csparql.register(fileSource);
DataStream outputStream = new DataStreamImpl<>("http://out/stream");
csparql.setSelectOutput(outputStream);
ContinuousQuery<Graph, Graph, Binding, Binding> cq = csparql.parseCSPARQLSelect(some_query); ContinuousQueryExecution<Graph, Graph, Binding, Binding> cqe = csparql.parseSelect(cq);
fileSource.stream();
Note that CQELSEngineRSP4J works fine with Jena related objects in RSP4J.