The Open Anzo Project

Semantic Application Middleware

Ticket #313 (closed defect: fixed)

Opened 8 months ago

Last modified 8 months ago

NPE in functional predicate rewriter when UNIONS in query

Reported by: jpbetz Assigned to: jpbetz
Priority: blocker Milestone: 3.0 milestone2
Component: openanzo-glitter Version: 3.0
Keywords: query union functionalPredicate Cc: rmeschian lee

Description

Rouben found this issue when running a query of the form:

SELECT DISTINCT ?value
WHERE 
{
  ?value ?p ?txt .
  ?txt <http://openanzo.org/predicates/textmatch> 'query-string' .

  OPTIONAL { ?value <http://xmlns.com/foaf/0.1/givenname> ?givenname } . 

  { ?value <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <...> . }
  UNION
  { ?value <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <...> . }
}
ERROR 5987468 [http://openanzo.org/service/CombusQueryServiceListener] (BaseServiceListener.java:314) - Exception while ServiceListener [http://openanzo.org/serviceContainer/component/CombusQueryServiceListener] was precessing request.
java.lang.NullPointerException
at org.openanzo.glitter.query.rewriter.FunctionalPredicateRewriter.rewriteTreeNode(FunctionalPredicateRewriter.java:128)
at org.openanzo.glitter.util.Glitter.rewriteTree(Glitter.java:132)
at org.openanzo.glitter.util.Glitter.rewriteTree(Glitter.java:125)
at org.openanzo.glitter.util.Glitter.rewriteTree(Glitter.java:125)
at org.openanzo.glitter.Engine._prepareQuery(Engine.java:611)
at org.openanzo.glitter.Engine._query(Engine.java:594)
at org.openanzo.glitter.Engine.executeQuery(Engine.java:452)
at org.openanzo.server.repository.rdb.services.NodeCentricQueryService.executeQueryInternal(NodeCentricQueryService.java:159)
at org.openanzo.server.services.impl.BaseQueryService.query(BaseQueryService.java:90)
at org.openanzo.server.services.impl.BaseQueryService.query(BaseQueryService.java:72)
at org.openanzo.server.endpoint.combus.CombusQueryServiceListener.handleMessage(CombusQueryServiceListener.java:161)
at org.openanzo.server.endpoint.combus.BaseServiceListener$ProcessThread.run(BaseServiceListener.java:270)
DEBUG 5987468 [ActiveMQ Session Task] (BayeuxJMSBridge.java:495) - BayeuxJMSBridge Received Message
}}

Change History

05/02/08 16:59:01 changed by jpbetz

(In [2208]) re #313 reviewr: lee

Add child to parent links when adding parent to child links in the AST.

05/02/08 17:22:29 changed by jpbetz

  • owner changed from jpbetz to lee.

Lee,

Should we add this query to a test somewhere to make sure this functionalPredicate and UNION combination don't regress?

-Joe

05/05/08 21:13:22 changed by lee

(In [2229]) re #313

05/05/08 21:13:46 changed by lee

(In [2230]) re #313

regression test

05/05/08 21:14:28 changed by lee

  • owner changed from lee to jpbetz.

Joe, please review and close.

reviewer: jpbetz

05/22/08 15:40:15 changed by jpbetz

  • status changed from new to closed.
  • resolution set to fixed.

Thanks for the test.

Marking closed.

Copyright © 2007 - 2008 OpenAnzo.org