-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upgrade the built-in Fuseki to version 2.4.0 #268
Conversation
I am pretty sure you already know this information. Nevertheless I bring it up here: https://www.w3.org/TR/sparql11-query/#neg-example-1 Could hat explain the different behaviour? If I do these queries in Fuseki, I get either all the resources or none of them. This returns all the resources:
This returns no results:
But if you share a variable in
So If I run the queries above in graphdb, I get the same results but they it takes a long time. So there clearly seems to be a different behaviour which justifies the |
The best explanation that I was able to get is here, but I don't understand it: https://issues.apache.org/jira/browse/JENA-1130 I think that at some point we should ask Ontotext about this. |
@@ -50,7 +50,7 @@ WHERE { | |||
{ | |||
@* Query statements about the resource's file values. *@ | |||
|
|||
?prop rdfs:subPropertyOf* knora-base:hasFileValue . | |||
?prop rdfs:subPropertyOf+ knora-base:hasFileValue . |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This implies that knora-base:hasFileValue
is never used directly, but only by means of subproperties. Correct?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Correct.
Can I merge this now? |
…ip/beol * 'develop' of https://github.com/dhlab-basel/Knora: Update README.md test (webapi): add E2E testing (#244) BEOL and bibliography ontologies (#283) refactor (webapi): migrate spray to akka http (#273) fix (sipi error message): display the error message returned by SIPI (#287) Add support for editing labels and value comments (#261) docs: Convert Knora base ontology doc to RST. (#289) relative paths (#288) removing relative paths to icons in css file: it doesn't survive an front apache proxy like: (#191) adding css and fonts used in the js/jquery.editvalue.js (#180) docs: Add remark about pyvenv for anaconda users on mac and linux (#264) add internal link to doc/readme (#278) docs (extended search): add missing explanations for LIKE and !LIKE (#279) Upgrade the built-in Fuseki to version 2.4.0 (#268) # Conflicts: # knora-ontologies/knora-base.ttl # webapi/src/test/scala/org/knora/webapi/responders/v1/OntologyResponderV1Spec.scala
This upgrades the built-in Fuseki server to version 2.4.0.
I found that three of our SPARQL queries were too slow on Fuseki unless I replaced
MINUS
withFILTER NOT EXISTS
. This issue suggests that previous versions of Fuseki were able to optimiseMINUS
better than more recent versions, and thatFILTER NOT EXISTS
can more efficiently replaceMINUS
in some cases. However,FILTER NOT EXISTS
didn't produce the same results in these queries on GraphDB. This is probably related to this issue, which seems to suggest that these two triplestores don't interpret SPARQL scoping rules in quite the same way. As a workaround, I added someif
statements to the SPARQL templates in these cases, to useMINUS
on GraphDB andFILTER NOT EXISTS
on Fuseki. I think this is OK for now. We can revisit it later when we have more time.I also got a
NullPointerException
from Fuseki when running one of the search responder tests. It seems to be caused by this bug. The advice there is to add a workaround to the definition of:tdb_dataset_readwrite
in the repository configuration:With these workarounds, the tests pass, and performance looks good.
Closes #29.