You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by "mw james (JIRA)" <ji...@apache.org> on 2015/09/16 16:07:48 UTC

[jira] [Created] (JENA-1028) 2.3.1-snapshot fails with OpDisjunction / org.apache.jena.atlas.lib.NotImplemented

mw james created JENA-1028:
------------------------------

             Summary: 2.3.1-snapshot fails with  OpDisjunction / org.apache.jena.atlas.lib.NotImplemented
                 Key: JENA-1028
                 URL: https://issues.apache.org/jira/browse/JENA-1028
             Project: Apache Jena
          Issue Type: Bug
          Components: Fuseki
    Affects Versions: Fuseki 2.3.1
         Environment: java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) Client VM (build 25.60-b23, mixed mode)

fuseki-server.bat --update --port=3030 --memTDB --set tdb:unionDefaultG
raph=true /db

            Reporter: mw james


The following example query fails on the Fuseki - version 2.3.1-SNAPSHOT (Build date: 2015-09-13T20:21:55+0000) (but works on 1.1.3)

{noformat}
PREFIX wiki: <http://example.org/id/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX swivt: <http://semantic-mediawiki.org/swivt/1.0#>
PREFIX property: <http://example.org/id/Property-3A>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX category: <http://example.org/id/Category-3A>
SELECT DISTINCT ?result WHERE {
{ ?result rdf:type category:Sample-2D1 . }
{
?result property:Has_text-2D1 ?v1 .
FILTER( ?v1 = "Value 1" || ?v1 = "Value 2" )
} UNION {
?result property:Has_page-2D2 ?v2 .
FILTER( ?v2 = wiki:Value_1 || ?v2 = wiki:Value_2 )
}
}
OFFSET 0
LIMIT 11
{noformat}

with

{noformat}
[2015-09-16 14:52:33] Fuseki     INFO  [11398] POST /db :: 'query' ::
[application/x-www-form-urlen
coded charset=utf-8] ?
[2015-09-16 14:52:33] Fuseki     INFO  [11398] Query = PREFIX wiki:
<http://example.org/id/> PREFIX
 rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX rdfs:
<http://www.w3.org/2000/01/rdf-sch
ema#> PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX swivt:
<http://semantic-mediawiki.org/swi
vt/1.0#> PREFIX property: <http://example.org/id/Property-3A> PREFIX
xsd: <http://www.w3.org/2001/X
MLSchema#> PREFIX category: <http://example.org/id/Category-3A> SELECT
DISTINCT ?result WHERE { { ?
result rdf:type category:Sample-2D1 . } { ?result
property:Has_text-2D1 ?v1 . FILTER( ?v1 = "Value
1" || ?v1 = "Value 2" ) } UNION { ?result property:Has_page-2D2 ?v2 .
FILTER( ?v2 = wiki:Value_1 ||
 ?v2 = wiki:Value_2 ) } } OFFSET 0 LIMIT 11
[2015-09-16 14:52:33] Fuseki     WARN  [11398] RC = 500 : null
org.apache.jena.atlas.lib.NotImplemented
        at org.apache.jena.sparql.engine.main.VarFinder$VarUsageVisitor.no(VarFinder.java:285)
        at org.apache.jena.sparql.engine.main.VarFinder$VarUsageVisitor.visit(VarFinder.java:305)
        at org.apache.jena.sparql.algebra.op.OpDisjunction.visit(OpDisjunction.java:76)
        at org.apache.jena.sparql.engine.main.VarFinder$VarUsageVisitor.apply(VarFinder.java:81)
        at org.apache.jena.sparql.engine.main.VarFinder$VarUsageVisitor.visit(VarFinder.java:206)
        at org.apache.jena.sparql.algebra.op.OpUnion.visit(OpUnion.java:49)
        at org.apache.jena.sparql.engine.main.VarFinder$VarUsageVisitor.apply(VarFinder.java:81)
        at org.apache.jena.sparql.engine.main.VarFinder.<init>(VarFinder.java:68)
        at org.apache.jena.sparql.engine.main.JoinClassifier.check(JoinClassifier.java:80)
        at org.apache.jena.sparql.engine.main.JoinClassifier.isLinear(JoinClassifier.java:59)
        at org.apache.jena.sparql.engine.main.JoinClassifier.isLinear(JoinClassifier.java:35)
        at org.apache.jena.sparql.algebra.optimize.TransformJoinStrategy.transform(TransformJoinStr
ategy.java:39)
        at org.apache.jena.sparql.algebra.TransformWrapper.transform(TransformWrapper.java:71)
        at org.apache.jena.sparql.algebra.op.OpJoin.apply(OpJoin.java:75)
        at org.apache.jena.sparql.algebra.Transformer$ApplyTransformVisitor.visit2(Transformer.java
:366)
        at org.apache.jena.sparql.algebra.OpVisitorByType.visit(OpVisitorByType.java:80)
        at org.apache.jena.sparql.algebra.op.OpJoin.visit(OpJoin.java:78)
        at org.apache.jena.sparql.algebra.OpWalker$WalkerVisitor.visit2(OpWalker.java:107)
        at org.apache.jena.sparql.algebra.OpVisitorByType.visit(OpVisitorByType.java:80)
        at org.apache.jena.sparql.algebra.op.OpJoin.visit(OpJoin.java:78)
        at org.apache.jena.sparql.algebra.OpWalker$WalkerVisitor.visit1(OpWalker.java:83)
        at org.apache.jena.sparql.algebra.OpVisitorByType.visitModifer(OpVisitorByType.java:44)
        at org.apache.jena.sparql.algebra.OpVisitorByType.visit(OpVisitorByType.java:160)
        at org.apache.jena.sparql.algebra.op.OpProject.visit(OpProject.java:47)
        at org.apache.jena.sparql.algebra.OpWalker$WalkerVisitor.visit1(OpWalker.java:83)
        at org.apache.jena.sparql.algebra.OpVisitorByType.visitModifer(OpVisitorByType.java:44)
        at org.apache.jena.sparql.algebra.OpVisitorByType.visit(OpVisitorByType.java:168)
        at org.apache.jena.sparql.algebra.op.OpDistinct.visit(OpDistinct.java:47)
        at org.apache.jena.sparql.algebra.OpWalker$WalkerVisitor.visit1(OpWalker.java:83)
        at org.apache.jena.sparql.algebra.OpVisitorByType.visitModifer(OpVisitorByType.java:44)
        at org.apache.jena.sparql.algebra.OpVisitorByType.visit(OpVisitorByType.java:172)
        at org.apache.jena.sparql.algebra.op.OpSlice.visit(OpSlice.java:50)
        at org.apache.jena.sparql.algebra.OpWalker.walk(OpWalker.java:43)
        at org.apache.jena.sparql.algebra.OpWalker.walk(OpWalker.java:38)
        at org.apache.jena.sparql.algebra.Transformer.applyTransformation(Transformer.java:147)
        at org.apache.jena.sparql.algebra.Transformer.transformation(Transformer.java:140)
        at org.apache.jena.sparql.algebra.Transformer.transformation(Transformer.java:129)
        at org.apache.jena.sparql.algebra.Transformer.transformation(Transformer.java:123)
        at org.apache.jena.sparql.algebra.Transformer.transform(Transformer.java:56)
        at org.apache.jena.sparql.algebra.Transformer.transformSkipService(Transformer.java:86)
        at org.apache.jena.sparql.algebra.Transformer.transformSkipService(Transformer.java:68)
        at org.apache.jena.sparql.algebra.optimize.Optimize.apply(Optimize.java:276)
        at org.apache.jena.sparql.algebra.optimize.Optimize.rewrite(Optimize.java:211)
        at org.apache.jena.sparql.algebra.optimize.Optimize.optimize(Optimize.java:77)
        at org.apache.jena.sparql.algebra.Algebra.optimize(Algebra.java:65)
        at org.apache.jena.sparql.engine.main.QueryEngineMain.modifyOp(QueryEngineMain.java:67)
        at org.apache.jena.tdb.solver.QueryEngineTDB.modifyOp(QueryEngineTDB.java:88)
        at org.apache.jena.sparql.engine.QueryEngineBase.createPlan(QueryEngineBase.java:101)
        at org.apache.jena.sparql.engine.QueryEngineBase.getPlan(QueryEngineBase.java:87)
        at org.apache.jena.tdb.solver.QueryEngineTDB$QueryEngineFactoryTDB.create(QueryEngineTDB.ja
va:169)
        at org.apache.jena.sparql.engine.QueryExecutionBase.getPlan(QueryExecutionBase.java:578)
        at org.apache.jena.sparql.engine.QueryExecutionBase.startQueryIterator(QueryExecutionBase.j
ava:533)
        at org.apache.jena.sparql.engine.QueryExecutionBase.execResultSet(QueryExecutionBase.java:5
63)
        at org.apache.jena.sparql.engine.QueryExecutionBase.execSelect(QueryExecutionBase.java:183)

        at org.apache.jena.fuseki.servlets.SPARQL_Query.executeQuery(SPARQL_Query.java:298)
        at org.apache.jena.fuseki.servlets.SPARQL_Query.execute(SPARQL_Query.java:254)
        at org.apache.jena.fuseki.servlets.SPARQL_Query.executeWithParameter(SPARQL_Query.java:212)

        at org.apache.jena.fuseki.servlets.SPARQL_Query.perform(SPARQL_Query.java:108)
        at org.apache.jena.fuseki.servlets.ActionSPARQL.executeLifecycle(ActionSPARQL.java:132)
        at org.apache.jena.fuseki.servlets.SPARQL_UberServlet.executeRequest(SPARQL_UberServlet.jav
a:334)
        at org.apache.jena.fuseki.servlets.SPARQL_UberServlet.serviceDispatch(SPARQL_UberServlet.ja
va:298)
        at org.apache.jena.fuseki.servlets.SPARQL_UberServlet.executeAction(SPARQL_UberServlet.java
:254)
        at org.apache.jena.fuseki.servlets.ActionSPARQL.execCommonWorker(ActionSPARQL.java:83)
        at org.apache.jena.fuseki.servlets.ActionBase.doCommon(ActionBase.java:79)
        at org.apache.jena.fuseki.servlets.FusekiFilter.doFilter(FusekiFilter.java:72)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
        at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
        at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
        at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
        at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125
)
        at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
        at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:4
49)
        at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
        at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
        at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
        at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
        at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.ja
va:362)
        at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125
)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
        at org.apache.jena.fuseki.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:285)
        at org.apache.jena.fuseki.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:248)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1156)
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1088)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:119)
        at org.eclipse.jetty.server.Server.handle(Server.java:517)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:306)
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:242)
        at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:2
45)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
        at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:75)
        at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduc
eConsume.java:213)
        at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.j
ava:147)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
        at java.lang.Thread.run(Unknown Source)
[2015-09-16 14:52:33] Fuseki     INFO  [11398] 500 Server Error (158 ms)
{noformat}

Dataset for a possible replication has been sent via email.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)