On 26/09/17 17:00, Laurent Rucquoy wrote:
- Did you reload the data ?
No, I did not know that. How can I reload the data ?

Write out with tdbdump from Jena 2.10.1 and load into a clean database with tdbloader from 3.1.1

https://jena.apache.org/documentation/migrate_jena2_jena3.html#persistent-data


- We are using the Apache Jena 3.1.1 instead of 3.4.0 because this is
integrated in a product with a big release cycle...

- Is there a transaction ?
Yes all the queries are made in transactions



- Here is a minimal example

String sparql = "SELECT ?annotationDimension WHERE {
         <
http://www.telemis.com/ImageAnnotation/000b3231-a9c3-42b1-bb71-2d416f729db8-msr>
<http://www.telemis.com/annotationDimension> ?annotationDimension .
}";

Dataset dataset = TDBFactory.createDataset("C:/tdb");
dataset.begin(ReadWrite.READ);



try {

     try (QueryExecution queryExecution =
QueryExecutionFactory.create(sparql, dataset)) {

Not what you had last time!


         ResultSet resultSet = queryExecution.execSelect();

         while (resultSet.hasNext()) {  // <=== No result

             QuerySolution querySolution = resultSet.nextSolution();
             RDFNode rdfNode = querySolution.get("annotationDimension");
             if(rdfNode != null) {
                 if(rdfNode.isLiteral()) {
                      // ...
                 } else if(rdfNode.isResource()) {
                     // ...
                 }
             }
         }
     }

} finally {
     dataset.end();
}


- Do you need a larger data sample ?

There isn't any data sample here!


If you have some small amount of data, a test query, I might be able to run it otherwise you can test reloaded data with tdbquery using your queries.

        Andy



Thank you for your help.

Laurent




On 26 September 2017 at 16:40, Andy Seaborne <[email protected]> wrote:

Did you reload the data?

https://jena.apache.org/documentation/migrate_jena2_jena3.html



On 26/09/17 15:08, Laurent Rucquoy wrote:

Hello,

We are currently migrating an Apache Jena 2.10.1 (jena-tdb 0.10.1) dataset
to a new model with Apache Jena 3.1.1


3.1.1 is old - 3.4.0 is current.


Some SPARQL select queries on the source dataset don't return any solution
when the where pattern includes a triple having a resource as object
(others patterns have a literal as object)... however we are sure that the
missing solution exists.

Here is an example of query where ?annotationDimension is a resource:

SELECT ?annotationDimension
WHERE {
      <
http://www.telemis.com/ImageAnnotation/000b3231-a9c3-42b1-
bb71-2d416f729db8-msr>
<http://www.telemis.com/annotationDimension> ?annotationDimension .
}

These queries are executed through


Is there a transaction?

QueryExecution queryExecution = QueryExecutionFactory.create(sparql,
dataset, initialJenaQuerySolutionMap)

            ^^^^^^^^^^^^^^^^^^^^^^^^^^^

ResultSet resultSet = queryExecution.execSelect();


What can I do to retrieve the missing solution ?

Thank you in advance for your help.


Please provide a complete, minimal example.  As described, I can't
recreate a test case because it is about the data.

         Andy


Regards,
Laurent



Reply via email to