[ 
https://issues.apache.org/jira/browse/JENA-1093?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15058327#comment-15058327
 ] 

ASF GitHub Bot commented on JENA-1093:
--------------------------------------

Github user afs commented on a diff in the pull request:

    https://github.com/apache/jena/pull/111#discussion_r47664861
  
    --- Diff: 
jena-arq/src/main/java/org/apache/jena/sparql/pfunction/PropertyFunctionBase.java
 ---
    @@ -88,24 +88,25 @@ public QueryIterator exec(QueryIterator input, 
PropFuncArg argSubject, Node pred
         
         class RepeatApplyIteratorPF extends QueryIterRepeatApply
         {
    -        private final PropFuncArg argSubject ; 
    -        private final Node predicate ;
    -        private final PropFuncArg argObject ;
    +        private ExecutionContext execCxt ;
    +        private PropFuncArg argSubject ; 
    +        private Node predicate ;
    +        private PropFuncArg argObject ;
             
    -        public RepeatApplyIteratorPF(QueryIterator input, PropFuncArg 
argSubject, Node predicate, PropFuncArg argObject, ExecutionContext execCxt)
    -        { 
    -            super(input, execCxt) ;
    -            this.argSubject = argSubject ;
    -            this.predicate = predicate ;
    -            this.argObject = argObject ;
    -        }
    +       public RepeatApplyIteratorPF(QueryIterator input, PropFuncArg 
argSubject, Node predicate, PropFuncArg argObject, ExecutionContext execCxt)
    +       { 
    +           super(input, execCxt) ;
    +           this.argSubject = argSubject ;
    +           this.predicate = predicate ;
    +           this.argObject = argObject ;
    +       }
     
             @Override
             protected QueryIterator nextStage(Binding binding)
             {
    -            QueryIterator iter = exec(binding, argSubject, predicate, 
argObject, getExecContext()) ;
    +            QueryIterator iter = exec(binding, argSubject, predicate, 
argObject, super.getExecContext()) ;
                 if ( iter == null ) 
    -                iter = IterLib.noResults(getExecContext()) ;
    +                iter = IterLib.noResults(execCxt) ;
                 return iter ;
    --- End diff --
    
    This change is potentially significant.  The execution context can change 
during execution where a new context derived from the current one is produced 
so please keep L108/L109.


> jena-text query doesn't return all matching literals
> ----------------------------------------------------
>
>                 Key: JENA-1093
>                 URL: https://issues.apache.org/jira/browse/JENA-1093
>             Project: Apache Jena
>          Issue Type: Bug
>          Components: Text
>    Affects Versions: Jena 3.0.1
>            Reporter: Osma Suominen
>            Assignee: Osma Suominen
>
> After the optimizations in JENA-999, the text:query property function, when 
> asked for stored literal values, no longer returns all matching literals. 
> Instead, each subject is returned with a random TextHit (i.e. score+literal 
> pair). This is a problem for me because I want to show to the user the most 
> relevant reason why the search matched a particular SKOS concept (there may 
> be many matching labels in various languages), or in some cases all the 
> reasons. 
> Also the returned match may not have the highest score, which could be a 
> problem if one is interested in the score (I'm not).
> For example, with storeLiterals enabled and this data:
> {noformat}
> ex:subject rdfs:label "one reason", "another reason" .
> {noformat}
> this query
> {noformat}
> (?s ?score ?literal) text:query "reason" .
> {noformat}
> will return a single binding where ?literal is bound to either "one reason" 
> or "another reason".
> Before JENA-999 it returned two bindings, one per literal.
> The culprit is the post-JENA-999 code in the TextQueryPF.exec method, 
> particularly around this line that suppresses subsequent hits with the same 
> subject URI:
> https://github.com/apache/jena/blob/master/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java#L188
> I already have a failing unit test that shows what I'd like to accomplish. I 
> will try to make a PR at some point.



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

Reply via email to