agustaf9 opened a new issue, #2616:
URL: https://github.com/apache/jena/issues/2616

   ### Version
   
   5.0.0
   
   ### What happened?
   
   # Steps to Reproduce
   1. Create a new dataset via `curl -X POST 'http://localhost:3030/$/datasets' 
--upload-file ./dsCon
   figTemplate.ttl --header "Content-Type: text/turtle"` where 
`dsConfigTemplate.ttl` is:
   
   ```
   # 
https://apothem.blog/apache-jena-fuseki-adding-reasoning-and-full-text-search-capabilities-to-a-dataset.html
   PREFIX :       <http://base/#>
   PREFIX fuseki: <http://jena.apache.org/fuseki#>
   PREFIX ja:     <http://jena.hpl.hp.com/2005/11/Assembler#>
   PREFIX rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
   PREFIX rdfs:   <http://www.w3.org/2000/01/rdf-schema#>
   PREFIX tdb2:   <http://jena.apache.org/2016/tdb#>
   
   :tdb_dataset_readwrite
           rdf:type       tdb2:DatasetTDB2;
           tdb2:location  "/fuseki/databases/ds" . # <-- Change ds to the name 
of the datastore
   
   :service_tdb_all  rdf:type  fuseki:Service;
           rdfs:label       "TDB2 ds";
           fuseki:dataset :dataset ;
           fuseki:endpoint  [ fuseki:name       "get";
                              fuseki:operation  fuseki:gsp-r
                            ];
           fuseki:endpoint  [ fuseki:operation  fuseki:gsp-rw ];
           fuseki:endpoint  [ fuseki:operation  fuseki:update ];
           fuseki:endpoint  [ fuseki:name       "update";
                              fuseki:operation  fuseki:update
                            ];
           fuseki:endpoint  [ fuseki:name       "sparql";
                              fuseki:operation  fuseki:query
                            ];
           fuseki:endpoint  [ fuseki:operation  fuseki:query ];
           fuseki:endpoint  [ fuseki:name       "data";
                              fuseki:operation  fuseki:gsp-rw
                            ];
           fuseki:endpoint  [ fuseki:name       "query";
                              fuseki:operation  fuseki:query
                            ];
           fuseki:name      "ds" . # <-- Change ds to the name of the datastore
   :dataset a ja:RDFDataset ;
       ja:defaultGraph :model_inf .
   
   :model_inf a ja:InfModel ;
        ja:baseModel :graph ;
        ja:reasoner [
            ja:reasonerURL <http://jena.hpl.hp.com/2003/RDFSExptRuleReasoner>
        ] .
   
   :graph rdf:type tdb2:GraphTDB ;
     tdb2:dataset :tdb_dataset_readwrite ;
   .
   ```
   2. Via the web interface's edit tab, replace all the triples in the default 
graph with:
   ```
   PREFIX rdf:         <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
   PREFIX rdfs:        <http://www.w3.org/2000/01/rdf-schema#>
   
   rdfs:range  rdf:type        rdf:Property , rdfs:Resource;
           rdfs:comment        "A range of the subject property.";
           rdfs:domain         rdf:Property;
           rdfs:isDefinedBy    rdfs:;
           rdfs:label          "range";
           rdfs:range          rdfs:Class;
           rdfs:seeAlso        rdfs:;
           rdfs:subPropertyOf  rdfs:range .
   
   rdfs:subPropertyOf  rdf:type  rdf:Property , rdfs:Resource;
           rdfs:comment        "The subject is a subproperty of a property.";
           rdfs:domain         rdf:Property;
           rdfs:isDefinedBy    rdfs:;
           rdfs:label          "subPropertyOf";
           rdfs:range          rdf:Property;
           rdfs:seeAlso        rdfs:;
           rdfs:subPropertyOf  rdfs:subPropertyOf .
   ```
   3. In the query tab of the web interface, change the `query` endpoint  to 
`update` and run this query:
   ```
   DELETE {?s ?p ?o} WHERE { VALUES ?s{ 
<http://www.w3.org/2000/01/rdf-schema#range> 
<http://www.w3.org/2000/01/rdf-schema#subPropertyOf>  }
       ?s ?p ?o .
     }
   ```
   4. Observe Error `Cannot read field "succ" because "n" is null`
   
   ### Relevant output and stacktrace
   
   ```shell
   org.apache.jena.fuseki.servlets.ActionErrorException: Cannot read field 
"succ" because "n" is null
           at 
org.apache.jena.fuseki.servlets.ServletOps.errorOccurred(ServletOps.java:275) 
~[fuseki-server.jar:5.0.0]
           at 
org.apache.jena.fuseki.servlets.SPARQL_Update.execute(SPARQL_Update.java:259) 
~[fuseki-server.jar:5.0.0]
           at 
org.apache.jena.fuseki.servlets.SPARQL_Update.executeBody(SPARQL_Update.java:191)
 ~[fuseki-server.jar:5.0.0]
           at 
org.apache.jena.fuseki.servlets.SPARQL_Update.execute(SPARQL_Update.java:106) 
~[fuseki-server.jar:5.0.0]
           at 
org.apache.jena.fuseki.servlets.ActionService.executeLifecycle(ActionService.java:58)
 ~[fuseki-server.jar:5.0.0]
           at 
org.apache.jena.fuseki.servlets.SPARQL_Update.execPost(SPARQL_Update.java:91) 
~[fuseki-server.jar:5.0.0]
           at 
org.apache.jena.fuseki.servlets.ActionProcessor.process(ActionProcessor.java:34)
 ~[fuseki-server.jar:5.0.0]
           at 
org.apache.jena.fuseki.servlets.ActionBase.process(ActionBase.java:54) 
~[fuseki-server.jar:5.0.0]
           at 
org.apache.jena.fuseki.servlets.ActionExecLib.execActionSub(ActionExecLib.java:127)
 ~[fuseki-server.jar:5.0.0]
           at 
org.apache.jena.fuseki.servlets.ActionExecLib.execAction(ActionExecLib.java:101)
 ~[fuseki-server.jar:5.0.0]
           at 
org.apache.jena.fuseki.server.Dispatcher.dispatchAction(Dispatcher.java:240) 
~[fuseki-server.jar:5.0.0]
           at 
org.apache.jena.fuseki.server.Dispatcher.process(Dispatcher.java:230) 
~[fuseki-server.jar:5.0.0]
           at 
org.apache.jena.fuseki.server.Dispatcher.dispatch(Dispatcher.java:148) 
~[fuseki-server.jar:5.0.0]
           at 
org.apache.jena.fuseki.servlets.FusekiFilter.doFilter(FusekiFilter.java:49) 
~[fuseki-server.jar:5.0.0]
           at 
org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205) 
~[fuseki-server.jar:5.0.0]
           at 
org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1586)
 ~[fuseki-server.jar:5.0.0]
           at 
org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)
 ~[fuseki-server.jar:5.0.0]
           at 
org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109) 
~[fuseki-server.jar:5.0.0]
           at 
org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)
 ~[fuseki-server.jar:5.0.0]
           at 
org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)
 ~[fuseki-server.jar:5.0.0]
           at 
org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)
 ~[fuseki-server.jar:5.0.0]
           at 
org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109) 
~[fuseki-server.jar:5.0.0]
           at 
org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)
 ~[fuseki-server.jar:5.0.0]
           at 
org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)
 ~[fuseki-server.jar:5.0.0]
           at 
org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)
 ~[fuseki-server.jar:5.0.0]
           at 
org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)
 ~[fuseki-server.jar:5.0.0]
           at 
org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)
 ~[fuseki-server.jar:5.0.0]
           at 
org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)
 ~[fuseki-server.jar:5.0.0]
           at 
org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84) 
~[fuseki-server.jar:5.0.0]
           at 
org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)
 ~[fuseki-server.jar:5.0.0]
           at 
org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)
 ~[fuseki-server.jar:5.0.0]
           at 
org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)
 ~[fuseki-server.jar:5.0.0]
           at 
org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205) 
~[fuseki-server.jar:5.0.0]
           at 
org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1586)
 ~[fuseki-server.jar:5.0.0]
           at 
org.apache.jena.fuseki.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:348)
 ~[fuseki-server.jar:5.0.0]
           at 
org.apache.jena.fuseki.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:301)
 ~[fuseki-server.jar:5.0.0]
           at 
org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:208) 
~[fuseki-server.jar:5.0.0]
           at 
org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1586)
 ~[fuseki-server.jar:5.0.0]
           at 
org.eclipse.jetty.ee10.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1547)
 ~[fuseki-server.jar:5.0.0]
           at 
org.eclipse.jetty.ee10.servlet.ServletChannel.dispatch(ServletChannel.java:814) 
~[fuseki-server.jar:5.0.0]
           at 
org.eclipse.jetty.ee10.servlet.ServletChannel.handle(ServletChannel.java:431) 
~[fuseki-server.jar:5.0.0]
           at 
org.eclipse.jetty.ee10.servlet.ServletHandler.handle(ServletHandler.java:464) 
~[fuseki-server.jar:5.0.0]
           at 
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:571) 
~[fuseki-server.jar:5.0.0]
           at 
org.eclipse.jetty.ee10.servlet.SessionHandler.handle(SessionHandler.java:703) 
~[fuseki-server.jar:5.0.0]
           at 
org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:765) 
~[fuseki-server.jar:5.0.0]
           at 
org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:597) 
~[fuseki-server.jar:5.0.0]
           at org.eclipse.jetty.server.Server.handle(Server.java:179) 
~[fuseki-server.jar:5.0.0]
           at 
org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:619)
 ~[fuseki-server.jar:5.0.0]
           at 
org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:411)
 ~[fuseki-server.jar:5.0.0]
           at 
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
 ~[fuseki-server.jar:5.0.0]
           at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99) 
~[fuseki-server.jar:5.0.0]
           at 
org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
 ~[fuseki-server.jar:5.0.0]
           at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:478)
 ~[fuseki-server.jar:5.0.0]
           at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:441)
 ~[fuseki-server.jar:5.0.0]
           at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293)
 ~[fuseki-server.jar:5.0.0]
           at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:201)
 ~[fuseki-server.jar:5.0.0]
           at 
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:410)
 ~[fuseki-server.jar:5.0.0]
           at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:971)
 ~[fuseki-server.jar:5.0.0]
           at 
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1201)
 ~[fuseki-server.jar:5.0.0]
           at 
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1156)
 ~[fuseki-server.jar:5.0.0]
           at java.base/java.lang.Thread.run(Unknown Source) [?:?]
   Caused by: java.lang.NullPointerException: Cannot read field "succ" because 
"n" is null
           at 
org.apache.jena.reasoner.transitiveReasoner.TransitiveGraphCache.processDeletes(TransitiveGraphCache.java:439)
 ~[fuseki-server.jar:5.0.0]
           at 
org.apache.jena.reasoner.transitiveReasoner.TransitiveGraphCache.find(TransitiveGraphCache.java:546)
 ~[fuseki-server.jar:5.0.0]
           at 
org.apache.jena.reasoner.transitiveReasoner.TransitiveEngine.cacheSubPropUtility(TransitiveEngine.java:385)
 ~[fuseki-server.jar:5.0.0]
           at 
org.apache.jena.reasoner.transitiveReasoner.TransitiveEngine.delete(TransitiveEngine.java:276)
 ~[fuseki-server.jar:5.0.0]
           at 
org.apache.jena.reasoner.rulesys.FBRuleInfGraph.performDelete(FBRuleInfGraph.java:658)
 ~[fuseki-server.jar:5.0.0]
           at org.apache.jena.graph.impl.GraphBase.delete(GraphBase.java:181) 
~[fuseki-server.jar:5.0.0]
           at 
org.apache.jena.sparql.core.DatasetGraphCollection.delete(DatasetGraphCollection.java:53)
 ~[fuseki-server.jar:5.0.0]
           at 
org.apache.jena.sparql.modify.UpdateEngineWorker.deleteFromDatasetGrap
   14:14:38.180 › Fuseki: h(UpdateEngineWorker.java:506) 
~[fuseki-server.jar:5.0.0]
           at 
org.apache.jena.sparql.modify.UpdateEngineWorker.lambda$execDelete$8(UpdateEngineWorker.java:474)
 ~[fuseki-server.jar:5.0.0]
           at java.base/java.util.ArrayList$Itr.forEachRemaining(Unknown 
Source) ~[?:?]
           at 
org.apache.jena.atlas.iterator.IteratorFlatMap.lambda$forEachRemaining$0(IteratorFlatMap.java:94)
 ~[fuseki-server.jar:5.0.0]
           at java.base/java.util.ArrayList$Itr.forEachRemaining(Unknown 
Source) ~[?:?]
           at 
org.apache.jena.atlas.iterator.IteratorFlatMap.forEachRemaining(IteratorFlatMap.java:90)
 ~[fuseki-server.jar:5.0.0]
           at 
org.apache.jena.sparql.modify.UpdateEngineWorker.execDelete(UpdateEngineWorker.java:474)
 ~[fuseki-server.jar:5.0.0]
           at 
org.apache.jena.sparql.modify.UpdateEngineWorker.execDelete(UpdateEngineWorker.java:463)
 ~[fuseki-server.jar:5.0.0]
           at 
org.apache.jena.sparql.modify.UpdateEngineWorker.visit(UpdateEngineWorker.java:384)
 ~[fuseki-server.jar:5.0.0]
           at 
org.apache.jena.sparql.modify.request.UpdateModify.visit(UpdateModify.java:100) 
~[fuseki-server.jar:5.0.0]
           at 
org.apache.jena.sparql.modify.UpdateVisitorSink.send(UpdateVisitorSink.java:45) 
~[fuseki-server.jar:5.0.0]
           at 
org.apache.jena.sparql.modify.UpdateVisitorSink.send(UpdateVisitorSink.java:31) 
~[fuseki-server.jar:5.0.0]
           at java.base/java.util.ArrayList$Itr.forEachRemaining(Unknown 
Source) ~[?:?]
           at 
java.base/java.util.Collections$UnmodifiableCollection$1.forEachRemaining(Unknown
 Source) ~[?:?]
           at org.apache.jena.atlas.iterator.Iter.sendToSink(Iter.java:776) 
~[fuseki-server.jar:5.0.0]
           at 
org.apache.jena.sparql.modify.UpdateProcessorBase.execute(UpdateProcessorBase.java:60)
 ~[fuseki-server.jar:5.0.0]
           at 
org.apache.jena.sparql.exec.UpdateExecDataset.execute(UpdateExecDataset.java:37)
 ~[fuseki-server.jar:5.0.0]
           at 
org.apache.jena.update.UpdateAction.execute$(UpdateAction.java:230) 
~[fuseki-server.jar:5.0.0]
           at 
org.apache.jena.update.UpdateAction.execute(UpdateAction.java:195) 
~[fuseki-server.jar:5.0.0]
           at 
org.apache.jena.fuseki.servlets.SPARQL_Update.execute(SPARQL_Update.java:231) 
~[fuseki-server.jar:5.0.0]
           ... 59 more
   [2024-08-01 14:14:38] Fuseki     INFO  [304] 500 Server Error (207 ms)
   ```
   
   
   ### Are you interested in making a pull request?
   
   No


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to