Merge branch 'upstream/master' into upstream/jena-text-triple-deletion + Fic Conflicts + refactor and extend AbstractTestDatasetWithTextIndexBase.java
Project: http://git-wip-us.apache.org/repos/asf/jena/repo Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/90bfa417 Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/90bfa417 Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/90bfa417 Branch: refs/heads/master Commit: 90bfa417c24494b8ec417718a6ed2490348c7bcb Parents: df04f18 e1a6a83 Author: Alexis Miara <[email protected]> Authored: Mon Jun 8 09:01:26 2015 -0400 Committer: Alexis Miara <[email protected]> Committed: Mon Jun 8 09:01:26 2015 -0400 ---------------------------------------------------------------------- .../apache/jena/atlas/data/DistinctDataNet.java | 3 +- .../jena/atlas/data/ThresholdPolicyFactory.java | 2 +- .../apache/jena/sparql/algebra/OpAsQuery.java | 61 ++- .../sparql/algebra/optimize/TransformTopN.java | 2 + .../jena/sparql/engine/QueryEngineFactory.java | 84 +++- .../engine/iterator/QueryIterDistinct.java | 129 ++++-- .../engine/iterator/QueryIterDistinctMem.java | 5 +- .../org/apache/jena/sparql/util/Context.java | 404 +++++++++++-------- .../java/org/apache/jena/sparql/TC_General.java | 2 - .../jena/sparql/algebra/TestOpAsQuery.java | 79 +++- .../apache/jena/sparql/core/TestContext.java | 102 +++-- .../apache/jena/sparql/engine/TS_Engine.java | 4 +- .../jena/sparql/engine/binding/TS_Binding.java | 32 -- .../iterator/AbstractTestDistinctReduced.java | 107 +++++ .../engine/iterator/TS_QueryIterators.java | 34 ++ .../engine/iterator/TestDistinctDataBag.java | 36 ++ .../iterator/TestDistinctDataBagLimited.java | 40 ++ .../sparql/engine/iterator/TestDistinctMem.java | 37 ++ .../engine/iterator/TestQueryIterSort.java | 3 +- .../java/org/apache/jena/vocabulary/DC_10.java | 5 +- .../java/org/apache/jena/vocabulary/RDF.java | 5 +- .../java/org/apache/jena/vocabulary/RDFS.java | 5 +- .../org/apache/jena/vocabulary/RDFSyntax.java | 6 +- .../java/org/apache/jena/vocabulary/RSS.java | 5 +- .../java/org/apache/jena/vocabulary/SKOS.java | 2 +- .../java/org/apache/jena/vocabulary/SKOSXL.java | 2 +- .../java/org/apache/jena/vocabulary/VCARD.java | 5 +- .../java/org/apache/jena/vocabulary/XSD.java | 8 +- .../arq/querybuilder/handlers/WhereHandler.java | 34 +- .../apache/jena/fuseki/mgt/ActionBackup.java | 2 +- .../apache/jena/fuseki/servlets/HttpAction.java | 11 +- .../fuseki/servlets/SPARQL_ServletBase.java | 2 +- .../org/apache/jena/fuseki/async/AsyncPool.java | 4 +- .../org/apache/jena/fuseki/async/AsyncTask.java | 9 +- .../apache/jena/fuseki/mgt/ActionAsyncTask.java | 8 - .../apache/jena/fuseki/mgt/ActionDatasets.java | 10 +- .../java/org/apache/jena/fuseki/mgt/Async.java | 17 +- .../org/apache/jena/fuseki/mgt/JsonConst.java | 49 +-- .../apache/jena/fuseki/server/SystemState.java | 11 +- .../apache/jena/fuseki/servlets/ActionBase.java | 2 +- .../apache/jena/fuseki/servlets/ActionREST.java | 2 - .../jena/fuseki/servlets/ActionSPARQL.java | 5 +- .../fuseki/servlets/ConcurrencyPolicyMRSW.java | 113 ------ .../apache/jena/fuseki/servlets/HttpAction.java | 11 +- .../fuseki/servlets/SPARQL_UberServlet.java | 35 +- .../jena/fuseki/servlets/SPARQL_Update.java | 1 - .../jena/fuseki/servlets/SPARQL_Upload.java | 1 - .../fuseki/validation/ValidatorBaseJson.java | 2 +- .../js/app/templates/dataset-management.tpl | 3 +- .../webapp/js/app/views/dataset-management.js | 16 +- .../src/it/schemagen-integration-4/pom.xml | 66 +++ .../src/main/vocabs/test1.ttl | 33 ++ .../src/it/schemagen-integration-4/verify.bsh | 29 ++ .../jena/tools/schemagen/SchemagenOptions.java | 2 + .../org/apache/jena/tools/schemagen/Source.java | 6 +- .../tools/schemagen/SourceParameterTest.java | 14 +- .../jena/query/text/DatasetGraphText.java | 10 +- .../org/apache/jena/query/text/TextHit.java | 41 ++ .../jena/query/text/TextHitConverter.java | 51 +++ .../org/apache/jena/query/text/TextIndex.java | 7 +- .../apache/jena/query/text/TextIndexLucene.java | 13 +- .../apache/jena/query/text/TextIndexSolr.java | 15 +- .../org/apache/jena/query/text/TextQueryPF.java | 73 ++-- .../text/AbstractTestDatasetWithTextIndex.java | 85 ++++ .../AbstractTestDatasetWithTextIndexBase.java | 38 +- 65 files changed, 1428 insertions(+), 612 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jena/blob/90bfa417/jena-text/src/main/java/org/apache/jena/query/text/TextIndex.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jena/blob/90bfa417/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jena/blob/90bfa417/jena-text/src/main/java/org/apache/jena/query/text/TextIndexSolr.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jena/blob/90bfa417/jena-text/src/test/java/org/apache/jena/query/text/AbstractTestDatasetWithTextIndexBase.java ---------------------------------------------------------------------- diff --cc jena-text/src/test/java/org/apache/jena/query/text/AbstractTestDatasetWithTextIndexBase.java index 94f947c,97f16e7..b323330 --- a/jena-text/src/test/java/org/apache/jena/query/text/AbstractTestDatasetWithTextIndexBase.java +++ b/jena-text/src/test/java/org/apache/jena/query/text/AbstractTestDatasetWithTextIndexBase.java @@@ -19,8 -19,7 +19,8 @@@ package org.apache.jena.query.text; import static org.junit.Assert.assertEquals; - import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; ++import static org.junit.Assert.assertFalse; import java.io.Reader; import java.io.StringReader; @@@ -65,27 -62,14 +67,32 @@@ public abstract class AbstractTestDatas } protected void doTestSearch(String label, String turtle, String queryString, Set<String> expectedEntityURIs, int expectedNumResults) { + loadData(turtle); + doTestQuery(dataset, label, queryString, expectedEntityURIs, expectedNumResults); + } + ++ protected Map<String,Float> doTestSearchWithScores(String turtle, String queryString, Set<String> expectedEntityURIs) { ++ loadData(turtle); ++ return doTestQueryWithScores(queryString, expectedEntityURIs); ++ } ++ + protected void doTestSearchNoResult(String turtle, String queryString) { + doTestSearchNoResult("", turtle, queryString); + } + + protected void doTestSearchNoResult(String label, String turtle, String queryString) { + loadData(turtle); + doTestNoResult(dataset, label, queryString); + } + + protected void loadData(String turtle) { Model model = dataset.getDefaultModel(); Reader reader = new StringReader(turtle); dataset.begin(ReadWrite.WRITE); model.read(reader, "", "TURTLE"); dataset.commit(); - doTestQuery(dataset, label, queryString, expectedEntityURIs, expectedNumResults); } -- ++ public static void doTestQuery(Dataset dataset, String label, String queryString, Set<String> expectedEntityURIs, int expectedNumResults) { Query query = QueryFactory.create(queryString) ; dataset.begin(ReadWrite.READ); @@@ -104,25 -87,36 +110,49 @@@ dataset.end() ; } } + - protected Map<String,Float> doTestSearchWithScores(String turtle, String queryString, Set<String> expectedEntityURIs) { - Model model = dataset.getDefaultModel(); - Reader reader = new StringReader(turtle); - dataset.begin(ReadWrite.WRITE); - model.read(reader, "", "TURTLE"); - dataset.commit(); - ++ protected Map<String,Float> doTestQueryWithScores(String queryString, Set<String> expectedEntityURIs) { + Map<String,Float> scores = new HashMap<>(); + + Query query = QueryFactory.create(queryString) ; + dataset.begin(ReadWrite.READ); + try(QueryExecution qexec = QueryExecutionFactory.create(query, dataset)) { + ResultSet results = qexec.execSelect() ; + + assertEquals(expectedEntityURIs.size() > 0, results.hasNext()); + int count; + for (count=0; results.hasNext(); count++) { + QuerySolution soln = results.nextSolution(); + String entityUri = soln.getResource("s").getURI(); + assertTrue(expectedEntityURIs.contains(entityUri)); + float score = soln.getLiteral("score").getFloat(); + scores.put(entityUri, score); + } + assertEquals(expectedEntityURIs.size(), count); + } + finally { + dataset.end() ; + } + return scores; + } - + + public static void doTestNoResult(Dataset dataset, String label, String queryString) { + Query query = QueryFactory.create(queryString) ; + dataset.begin(ReadWrite.READ); + try(QueryExecution qexec = QueryExecutionFactory.create(query, dataset)) { + ResultSet results = qexec.execSelect() ; + assertFalse(label, results.hasNext()); + } + finally { + dataset.end() ; + } + } + + protected void doUpdate(String updateString) { + dataset.begin(ReadWrite.WRITE); + UpdateRequest request = UpdateFactory.create(updateString); + UpdateProcessor proc = UpdateExecutionFactory.create(request, dataset); + proc.execute(); + dataset.commit(); + } - }
