Clone URL (Committers only):
https://cms.apache.org/redirect?new=anonymous;action=diff;uri=http://jena.apache.org/documentation%2Fquery%2Ftext-query.mdtext

Chris Tomlinson

Index: trunk/content/documentation/query/text-query.mdtext
===================================================================
--- trunk/content/documentation/query/text-query.mdtext (revision 1819918)
+++ trunk/content/documentation/query/text-query.mdtext (working copy)
@@ -228,10 +228,11 @@
     ?s text:query (rdfs:label 'protégé' 'lang:fr')    # restrict search to 
French
     (?s ?score) text:query 'word'                     # query capturing also 
the score
     (?s ?score ?literal) text:query 'word'            # ... and original 
literal value
+    (?s ?score ?literal ?g) text:query 'word'         # ... and the graph
     
 The most general form is:
    
-     (?s ?score ?literal) text:query (property 'query string' limit 'lang:xx')
+     (?s ?score ?literal ?g) text:query (property 'query string' limit 
'lang:xx')
 
 #### Input arguments:
 
@@ -268,17 +269,15 @@
 | subject URI       | The subject of the indexed RDF triple.          |
 | score             | (optional) The score for the match. |
 | literal           | (optional) The matched object literal. |
+| graph URI         | (optional) The graph URI of the triple. |
 
 The results include the _subject URI_; the _score_ assigned by the
 text search engine; and the entire matched _literal_ (if the index has
 been [configured to store literal values](#text-dataset-assembler)).
 The _subject URI_ may be a variable, e.g., `?s`, or a _URI_. In the
 latter case the search is restricted to triples with the specified
-subject. The _score_ and the _literal_ **must** be variables.
+subject. The _score_, _literal_ and _graph URI_ **must** be variables.
 
-If only the _subject_ variable, `?s` is needed then it **must be** written 
without 
-surrounding `( )`; otherwise, an error is signalled.
-
 ### Query strings
 
 There are several points that need to be considered when formulating
@@ -401,6 +400,17 @@
       graph ?g { ?s a ex:Item } .
     }
 
+Further, if `tdb:unionDefaultGraph true` for a TDB dataset backing a Lucene 
index then it is possible to retrieve the graphs that contain triples resulting 
from a Lucene search via the fourth output argument to `text:query`:
+
+    select ?g ?s ?lit
+    where {
+      (?s ?sc ?lit ?g) text:query "zorn" .
+    }
+
+This will generally perform much better than either of the previous approaches 
when there are
+large numbers of graphs since the Lucene search will run once and the returned 
_documents_ carry
+the containing graph URI for free as it were.
+
 #### Queries across multiple `Field`s
 
 As mentioned earlier, the text index uses the

Reply via email to