On 22/05/2023 00:48, Shaw, Ryan wrote:
Is it still possible to dynamically load SPARQL functions from the classpath?
Yes - but the scripts don't seem to have the ability to add to the class
path.
JVM_ARGS isn't going to get the -cp correct. See end of script.
It'll need a script fix (or call the program directly, or put the
extension in <jena>/lib/)
Be good to get a PR to fix this - the template for commands is
https://github.com/apache/jena/blob/main/apache-jena/template.bin
Andy
I have it working with tarql, which uses Jena 3.11, but I can’t seem to get it
working with the latest version of Jena:
$ JVM_ARGS="-cp
/Users/ryanshaw/Code/ncg-dataset/lib/sparql-functions/build/libs/sparql-functions.jar"
./tools/apache-jena-4.8.0/bin/arq --data=dataset.nt --query=queries/new-ids.rq
19:36:15 WARN ClsLoader :: Class not found: org.ncgazetteer.mint
19:36:15 WARN exec :: URI <java:org.ncgazetteer.mint> has no
registered function factory
$ cat queries/new-ids.rq:
PREFIX ncp: <http://n2t.net/ark:/39333/ncg/place/>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX f: <java:org.ncgazetteer.>
CONSTRUCT {
?oldid owl:sameAs ?newid .
}
WHERE {
SELECT DISTINCT ?oldid (f:mint("ncp") AS ?newid)
WHERE {
?oldid ?p ?o .
FILTER(REGEX(STR(?oldid), "^http://n2t.net/ark:/39333/ncg/place/NCG"))
}
}
$ unzip -l
/Users/ryanshaw/Code/ncg-dataset/lib/sparql-functions/build/libs/sparql-functions.jar
| grep mint
4174 05-21-2023 16:34 org/ncgazetteer/mint.class