On 04/03/2021 11:10, Toni Cebrián wrote:
Hi Andy,
Fuseki server was 3.14.0. I didn't include the full stack trace because
it was clear that it is just a timeout.
It would help me to know what part of the Fuseki engine this is
happening in.
There was a change for better diagnostics for
org.eclipse.jetty.io.EofException but I can't tell if this is on that
path or another.
This timeout happens because the
reasoner hogs the server without completing the query. I asked in the
Skosmos user group (https://groups.google.com/g/skosmos-users/c/bSzpAhdprvY)
and the solution was to materialise all relationships before hand and
remove reasoning from Jena.
But to me, performing inference on the skos ontology should be pretty
straightforward even for online querying, shouldn't it? What am I doing
wrong so a simple query works in milliseconds when I materialise all
relations myself but cannot be handled by the most lightweight OWL reasoner?
It is only the first query. That's when initialization happens.
4597 sounds very small but I don't know skosmos.
What does the OWL look like?
And the data - because there may be a lot of other inference because
OWLMicro is general and not specific to SKOS. Some rules are expensive.
And if it large and cold off disk, then, something else is involved.
Maybe you want a SKOS specific rule set?
What is in the Fuseki configuration file?
Andy
Toni
On Tue, 2 Mar 2021 at 15:49, Andy Seaborne <a...@apache.org> wrote:
Hi Toni,
Which version of Fuseki is this?
What's the full stacktrace? (the operation isn't showing below)
The exception usually means client has gone away before the request
response is finished. (Sometimes, that's an intermediate like a
proxy/reverse proxy.)
Maybe the first query is expensive because it is doing all the rules
setup. More a Skosmos question.
Andy
On 02/03/2021 09:07, Toni Cebrián wrote:
Hi,
I'm trying to setup Fuseki with the Skosmos frontend (
https://skosmos.org/) using docker images for both servers.
In Fuseki I've uploaded to the default graph the skos.rdf file plus
the
.ttl with my vocabulary comprising around 4597 concepts. Fuseki is also
setup with MicroOWL reasoner:
ja:reasonerURL <http://jena.hpl.hp.com/2003/OWLMicroFBRuleReasoner>
so I can navigate the SKOS taxonomy back and forth.
The problem is that the first query that Skosmos sends to Jena never
returns:
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
CONSTRUCT { <http://example.org/MyScheme> ?property ?value . }
WHERE {
<http://example.org/MyScheme> ?property ?value .
FILTER (?property != skos:hasTopConcept) }
After sending the query, one CPU goes 100% and after a while before
getting
any results I can see this exception in fuseki:
skosmos-fuseki | [2021-03-02 08:19:04] Fuseki INFO Exception while
writing the response model: org.eclipse.jetty.io.EofException
skosmos-fuseki | org.apache.jena.atlas.RuntimeIOException:
org.eclipse.jetty.io.EofException
skosmos-fuseki | at
org.apache.jena.atlas.io.IO.exception(IO.java:261)
skosmos-fuseki | at
org.apache.jena.atlas.io
.BufferingWriter.flushBuffer(BufferingWriter.java:136)
skosmos-fuseki | at
org.apache.jena.atlas.io.BufferingWriter.output(BufferingWriter.java:86)
skosmos-fuseki | at
org.apache.jena.atlas.io.BufferingWriter.write(BufferingWriter.java:173)
skosmos-fuseki | at
org.apache.jena.atlas.io.Writer2.print(Writer2.java:55)
skosmos-fuseki | at
org.apache.jena.riot.out.quoted.QuotedURI.writeURI(QuotedURI.java:46)
skosmos-fuseki | at
org.apache.jena.riot.out.NodeFormatterNT.formatURI(NodeFormatterNT.java:46)
to me it doesn't look like a very complex query, so my questions are:
- Is Jena able to handle SKOS vocabularies in the range of thousand terms
when inference is on?
- If so, how should I configure Fuseki to work with that dataset?
- Maybe related, but does anyone have a similar Skosmos setup where I
could
borrow the Jena config files?
Thanks