Thanks Bruno! I did find the example Java code in Git and literally
like 2 minutes ago managed to get this working.  I still don't
*entirely* understand every aspect of how this works, but it's slowly
starting to make sense.

I'm going to play with it some more, and maybe I can write up some
docs on this and contribute to the Jena documentation.


Cheers,


Phil
This message optimized for indexing by NSA PRISM


On Mon, Oct 6, 2014 at 11:08 PM, Bruno P. Kinoshita
<brunodepau...@yahoo.com.br> wrote:
> Hello Phillip
> I haven't used Jena-Text before, but at a customer we are deploying Jena and 
> a Hadoop cluster that comes with a Solr server, and I have been wanting to 
> learn how to use jena-text to see if that'll be useful in our project.
> It took me some time to find out what was different in your example, from the 
> one provided in jena-text. This gist [1] has my Java code ported from reading 
> your example.
> Take a look at line 77, instead of using the dataset with lucene support, 
> you're using a model with a reasoner, and my guess (which might be a long 
> shot) is that this model is resolving your query to true to every entry, due 
> to it not recognizing the text:query () part.
> Regarding the link, it is broken due to the migration from SVN to git, that 
> happened days ago. It has already been reported in JENA-786 [2], I already 
> ran  the W3C link checker tool [3] with recursion=20 to get some 404 errors, 
> and will see if I can write a simple patch that fixes some of them.
> Oh, take a look at QueryExecUtils#executeQuery(...), it's handy for quickly 
> testing queries and printing the output.
> Hope that helps,Bruno
> [1] https://gist.github.com/kinow/10875c79a94f4fd931c9
> [2] 
> https://issues.apache.org/jira/browse/JENA-786?jql=project%20%3D%20JENA%20AND%20updated%3E%3D-1w%20ORDER%20BY%20updated%20DESC
>
> [3] http://validator.w3.org/checklink
>
>       From: Phillip Rhodes <motley.crue....@gmail.com>
>  To: dev@jena.apache.org
>  Sent: Monday, October 6, 2014 9:51 PM
>  Subject: Jena Text returning bogus results?
>
> Jena gang:
>
> I'm trying to use the Jena-Text stuff to do text searches in SPARQL
> and am running into a problem.  I am indexing two triples, with an
> rdfs:label property, then doing a search using text:query that should
> match 0 triples.  But I still get back two results when I run my query
> (the two triples I previously indexed, even though they don't contain
> the query string).
>
> I'm sure I'm probably just doing something wrong, but so far I'm
> having no luck figuring out what it is.  If somebody could look at
> this code and give me a pointer, it would be much appreciated.
>
>
> class JenaTextMain1
> {
>
>     static main(args)
>     {
>
>         // Base dataset
>         Dataset dataset = TDBFactory.createDataset("jenastore");
>
>         EntityDefinition entDef = new EntityDefinition("uri", "text",
> RDFS.label) ;
>
>         // Lucene, in memory.
>         Directory dir =  new RAMDirectory();
>
>         // Join together into a dataset
>         Dataset ds = TextDatasetFactory.createLucene(dataset, dir, entDef);
>
>         ds.begin(ReadWrite.WRITE);
>
>         Model m = ds.defaultModel;
>
>         Resource rSubject = m.createResource(
> "http://ontology.fogbeam.com/example/TestResource1"; );
>         Resource rSubject2 = m.createResource(
> "http://ontology.fogbeam.com/example/TestResource2"; );
>
>         try
>         {
>
>             Statement s = m.createStatement(rSubject, RDFS.label,
> "This is a TEST Resource" );
>
>             m.add( s );
>
>             Statement s2 = m.createStatement(rSubject2, RDFS.label,
> "Bratwurst" );
>
>             m.add( s2 );
>
>             ds.commit();
>
>
>             String baseQueryString =
>             "PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> " +
>             "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> " +
>             "PREFIX dc: <http://purl.org/dc/elements/1.1/> " +
>             "PREFIX dcterm: <http://purl.org/dc/terms/> " +
>             "PREFIX owl: <http://www.w3.org/2002/07/owl#> " +
>             "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> " +
>             "PREFIX text: <http://jena.apache.org/text#>";
>
>             /* Do a SPARQL query using Jena-Text here... */
>             String queryString = baseQueryString + "SELECT ?s { ?s
> text:query ('Flibble') ; rdfs:label ?label ; }";
>
>             ds.begin(ReadWrite.READ);
>
>             Query query = QueryFactory.create(queryString) ;
>
>             Reasoner reasoner = ReasonerRegistry.getOWLMiniReasoner();
>             InfModel inf = ModelFactory.createInfModel(reasoner, m);
>
>             QueryExecution qexec = QueryExecutionFactory.create(query, inf);
>
>
>             try
>             {
>                 ResultSet solutions = qexec.execSelect();
>                 for ( ; solutions.hasNext() ; )
>                 {
>                     QuerySolution soln = solutions.nextSolution();
>                     println "solution: ${soln}";
>                     Iterator iter = soln.varNames();
>                 }
>
>                 ds.commit();
>
>             }
>             finally
>             {
>                 qexec.close();
>             }
>         }
>         finally
>         {
>             if( ds != null )
>             {
>                 ds.end();
>             }
>         }
>
>         println "done";
>     }
>
> }
>
>
> Running this results in this output:
>
> solution: ( ?s = <http://ontology.fogbeam.com/example/TestResource1> )
> solution: ( ?s = <http://ontology.fogbeam.com/example/TestResource2> )
> done
>
>
> Any and all help is greatly appreciated.
>
> Also, on a related note... the page here:
>
> https://jena.apache.org/documentation/query/text-query.html
>
> has the following link listed as "example code here" but the link is
> no longer valid.
>
> https://svn.apache.org/repos/asf/jena/trunk/jena-text/src/main/java/examples/
>
>
> Thanks,
>
>
> Phil
>
> This message optimized for indexing by NSA PRISM
>
>
>

Reply via email to