You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2015/06/02 14:56:23 UTC
[01/13] jena git commit: First implementation of JENA-916: Add (?uri
?score) to text query.
Repository: jena
Updated Branches:
refs/heads/master bcba645a5 -> 999972e0a
First implementation of JENA-916: Add (?uri ?score) to text query.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/4c99ec53
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/4c99ec53
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/4c99ec53
Branch: refs/heads/master
Commit: 4c99ec53510fc9bdda1f66a42636b3185e071e98
Parents: b03ce37
Author: Osma Suominen <os...@aalto.fi>
Authored: Mon May 25 15:54:56 2015 +0300
Committer: Osma Suominen <os...@aalto.fi>
Committed: Mon May 25 15:54:56 2015 +0300
----------------------------------------------------------------------
.../jena/query/text/DatasetGraphText.java | 10 +--
.../org/apache/jena/query/text/TextHit.java | 41 ++++++++++
.../jena/query/text/TextHitConverter.java | 50 ++++++++++++
.../org/apache/jena/query/text/TextIndex.java | 4 +-
.../apache/jena/query/text/TextIndexLucene.java | 11 +--
.../apache/jena/query/text/TextIndexSolr.java | 15 ++--
.../org/apache/jena/query/text/TextQueryPF.java | 67 ++++++++++-----
.../text/AbstractTestDatasetWithTextIndex.java | 85 ++++++++++++++++++++
.../AbstractTestDatasetWithTextIndexBase.java | 35 +++++++-
9 files changed, 278 insertions(+), 40 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/4c99ec53/jena-text/src/main/java/org/apache/jena/query/text/DatasetGraphText.java
----------------------------------------------------------------------
diff --git a/jena-text/src/main/java/org/apache/jena/query/text/DatasetGraphText.java b/jena-text/src/main/java/org/apache/jena/query/text/DatasetGraphText.java
index cc4d42e..e1d7306 100644
--- a/jena-text/src/main/java/org/apache/jena/query/text/DatasetGraphText.java
+++ b/jena-text/src/main/java/org/apache/jena/query/text/DatasetGraphText.java
@@ -78,28 +78,28 @@ public class DatasetGraphText extends DatasetGraphMonitor implements Transaction
}
/** Search the text index on the default text field */
- public Iterator<Node> search(String queryString) {
+ public Iterator<TextHit> search(String queryString) {
return search(queryString, null) ;
}
/** Search the text index on the text field associated with the predicate */
- public Iterator<Node> search(String queryString, Node predicate) {
+ public Iterator<TextHit> search(String queryString, Node predicate) {
return search(queryString, predicate, -1) ;
}
/** Search the text index on the default text field */
- public Iterator<Node> search(String queryString, int limit) {
+ public Iterator<TextHit> search(String queryString, int limit) {
return search(queryString, null, limit) ;
}
/** Search the text index on the text field associated with the predicate */
- public Iterator<Node> search(String queryString, Node predicate, int limit) {
+ public Iterator<TextHit> search(String queryString, Node predicate, int limit) {
queryString = QueryParserBase.escape(queryString) ;
if ( predicate != null ) {
String f = textIndex.getDocDef().getField(predicate) ;
queryString = f + ":" + queryString ;
}
- List<Node> results = textIndex.query(queryString, limit) ;
+ List<TextHit> results = textIndex.query(queryString, limit) ;
return results.iterator() ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/4c99ec53/jena-text/src/main/java/org/apache/jena/query/text/TextHit.java
----------------------------------------------------------------------
diff --git a/jena-text/src/main/java/org/apache/jena/query/text/TextHit.java b/jena-text/src/main/java/org/apache/jena/query/text/TextHit.java
new file mode 100644
index 0000000..a60f78e
--- /dev/null
+++ b/jena-text/src/main/java/org/apache/jena/query/text/TextHit.java
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.query.text ;
+
+import org.apache.jena.graph.Node ;
+
+/** Class representing a single hit from a jena-text index */
+public class TextHit
+{
+ private Node node;
+ private float score;
+
+ public TextHit(Node node, float score) {
+ this.node = node;
+ this.score = score;
+ }
+
+ public Node getNode() {
+ return this.node;
+ }
+
+ public float getScore() {
+ return this.score;
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/4c99ec53/jena-text/src/main/java/org/apache/jena/query/text/TextHitConverter.java
----------------------------------------------------------------------
diff --git a/jena-text/src/main/java/org/apache/jena/query/text/TextHitConverter.java b/jena-text/src/main/java/org/apache/jena/query/text/TextHitConverter.java
new file mode 100644
index 0000000..3ee29c9
--- /dev/null
+++ b/jena-text/src/main/java/org/apache/jena/query/text/TextHitConverter.java
@@ -0,0 +1,50 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.query.text ;
+
+import java.util.function.Function;
+
+import org.apache.jena.sparql.core.Var;
+import org.apache.jena.sparql.engine.binding.Binding;
+import org.apache.jena.sparql.engine.binding.BindingFactory;
+import org.apache.jena.sparql.engine.binding.BindingMap;
+import org.apache.jena.sparql.util.NodeFactoryExtra;
+
+/** Class that converts TextHits to Bindings that can be returned from query */
+public class TextHitConverter implements Function<TextHit, Binding>
+{
+ private Binding binding;
+ private Var match;
+ private Var score;
+
+ public TextHitConverter(Binding binding, Var match, Var score) {
+ this.binding = binding;
+ this.match = match;
+ this.score = score;
+ }
+
+ public Binding apply(TextHit hit) {
+ BindingMap bmap = BindingFactory.create(binding);
+ bmap.add(match, hit.getNode());
+ if (score != null) {
+ bmap.add(score, NodeFactoryExtra.floatToNode(hit.getScore()));
+ }
+ return bmap;
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/4c99ec53/jena-text/src/main/java/org/apache/jena/query/text/TextIndex.java
----------------------------------------------------------------------
diff --git a/jena-text/src/main/java/org/apache/jena/query/text/TextIndex.java b/jena-text/src/main/java/org/apache/jena/query/text/TextIndex.java
index 69efb31..b57db5b 100644
--- a/jena-text/src/main/java/org/apache/jena/query/text/TextIndex.java
+++ b/jena-text/src/main/java/org/apache/jena/query/text/TextIndex.java
@@ -46,9 +46,9 @@ public interface TextIndex extends Closeable //, Transactional
// Need to have more complex results.
/** Access the index - limit if -1 for as many as possible */
- List<Node> query(String qs, int limit) ;
+ List<TextHit> query(String qs, int limit) ;
- List<Node> query(String qs) ;
+ List<TextHit> query(String qs) ;
EntityDefinition getDocDef() ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/4c99ec53/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java
----------------------------------------------------------------------
diff --git a/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java b/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java
index 9107e86..98a0f63 100644
--- a/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java
+++ b/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java
@@ -288,12 +288,12 @@ public class TextIndexLucene implements TextIndex {
}
@Override
- public List<Node> query(String qs) {
+ public List<TextHit> query(String qs) {
return query(qs, MAX_N) ;
}
@Override
- public List<Node> query(String qs, int limit) {
+ public List<TextHit> query(String qs, int limit) {
//** score
try (IndexReader indexReader = DirectoryReader.open(directory)) {
return query$(indexReader, qs, limit) ;
@@ -303,14 +303,14 @@ public class TextIndexLucene implements TextIndex {
}
}
- private List<Node> query$(IndexReader indexReader, String qs, int limit) throws ParseException, IOException {
+ private List<TextHit> query$(IndexReader indexReader, String qs, int limit) throws ParseException, IOException {
IndexSearcher indexSearcher = new IndexSearcher(indexReader) ;
Query query = parseQuery(qs, docDef.getPrimaryField(), queryAnalyzer) ;
if ( limit <= 0 )
limit = MAX_N ;
ScoreDoc[] sDocs = indexSearcher.search(query, limit).scoreDocs ;
- List<Node> results = new ArrayList<>() ;
+ List<TextHit> results = new ArrayList<>() ;
// Align and DRY with Solr.
for ( ScoreDoc sd : sDocs ) {
@@ -318,7 +318,8 @@ public class TextIndexLucene implements TextIndex {
String[] values = doc.getValues(docDef.getEntityField()) ;
for ( String v : values ) {
Node n = TextQueryFuncs.stringToNode(v) ;
- results.add(n) ;
+ TextHit hit = new TextHit(n, sd.score);
+ results.add(hit) ;
}
}
return results ;
http://git-wip-us.apache.org/repos/asf/jena/blob/4c99ec53/jena-text/src/main/java/org/apache/jena/query/text/TextIndexSolr.java
----------------------------------------------------------------------
diff --git a/jena-text/src/main/java/org/apache/jena/query/text/TextIndexSolr.java b/jena-text/src/main/java/org/apache/jena/query/text/TextIndexSolr.java
index 54a3263..69848d8 100644
--- a/jena-text/src/main/java/org/apache/jena/query/text/TextIndexSolr.java
+++ b/jena-text/src/main/java/org/apache/jena/query/text/TextIndexSolr.java
@@ -183,22 +183,22 @@ public class TextIndexSolr implements TextIndex
}
@Override
- public List<Node> query(String qs) { return query(qs, 0) ; }
+ public List<TextHit> query(String qs) { return query(qs, 0) ; }
@Override
- public List<Node> query(String qs, int limit)
+ public List<TextHit> query(String qs, int limit)
{
SolrDocumentList solrResults = solrQuery(qs, limit) ;
- List<Node> results = new ArrayList<>() ;
+ List<TextHit> results = new ArrayList<>() ;
for ( SolrDocument sd : solrResults )
{
- //** score
- // 'score' field.
String str = (String)sd.getFieldValue(docDef.getEntityField()) ;
//log.info("Entity: "+uriStr) ;
Node n = TextQueryFuncs.stringToNode(str) ;
- results.add(n) ;
+ Float score = (Float) sd.getFirstValue("score");
+ TextHit hit = new TextHit(n, score.floatValue());
+ results.add(hit) ;
}
if ( limit > 0 && results.size() > limit )
@@ -210,8 +210,7 @@ public class TextIndexSolr implements TextIndex
private SolrDocumentList solrQuery(String qs, int limit)
{
SolrQuery sq = new SolrQuery(qs) ;
- //** score
- //sq.setIncludeScore(true) ;
+ sq.setIncludeScore(true) ;
if ( limit > 0 )
sq.setRows(limit) ;
else
http://git-wip-us.apache.org/repos/asf/jena/blob/4c99ec53/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
----------------------------------------------------------------------
diff --git a/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java b/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
index 140ef09..6520516 100644
--- a/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
+++ b/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
@@ -18,7 +18,9 @@
package org.apache.jena.query.text ;
+import java.util.Iterator ;
import java.util.List ;
+import java.util.function.Function ;
import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.atlas.lib.InternalErrorException ;
@@ -27,11 +29,13 @@ import org.apache.jena.datatypes.RDFDatatype ;
import org.apache.jena.datatypes.xsd.XSDDatatype ;
import org.apache.jena.graph.Node ;
import org.apache.jena.query.QueryBuildException ;
+import org.apache.jena.query.QueryExecException ;
import org.apache.jena.sparql.core.* ;
import org.apache.jena.sparql.engine.ExecutionContext ;
import org.apache.jena.sparql.engine.QueryIterator ;
import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.engine.iterator.QueryIterExtendByVar ;
+import org.apache.jena.sparql.engine.iterator.QueryIterPlainWrapper ;
import org.apache.jena.sparql.engine.iterator.QueryIterSlice ;
import org.apache.jena.sparql.mgt.Explain ;
import org.apache.jena.sparql.pfunction.PropFuncArg ;
@@ -39,6 +43,7 @@ import org.apache.jena.sparql.pfunction.PropertyFunctionBase ;
import org.apache.jena.sparql.util.Context ;
import org.apache.jena.sparql.util.IterLib ;
import org.apache.jena.sparql.util.NodeFactoryExtra ;
+import org.apache.jena.util.iterator.Map1Iterator ;
import org.apache.lucene.queryparser.classic.QueryParserBase ;
import org.slf4j.Logger ;
import org.slf4j.LoggerFactory ;
@@ -65,8 +70,8 @@ public class TextQueryPF extends PropertyFunctionBase {
DatasetGraph dsg = execCxt.getDataset() ;
server = chooseTextIndex(dsg) ;
- if (!argSubject.isNode())
- throw new QueryBuildException("Subject is not a single node: " + argSubject) ;
+ if (argSubject.isList() && argSubject.getArgListSize() != 2)
+ throw new QueryBuildException("Subject has "+argSubject.getArgList().size()+" elements, not 2: "+argSubject);
if (argObject.isList()) {
List<Node> list = argObject.getArgList() ;
@@ -116,11 +121,20 @@ public class TextQueryPF extends PropertyFunctionBase {
argSubject = Substitute.substitute(argSubject, binding) ;
argObject = Substitute.substitute(argObject, binding) ;
-
- if (!argSubject.isNode())
- throw new InternalErrorException("Subject is not a node (it was earlier!)") ;
-
- Node s = argSubject.getArg() ;
+
+ Node s = null;
+ Node score = null;
+
+ if (argSubject.isList()) {
+ // Length checked in build()
+ s = argSubject.getArg(0);
+ score = argSubject.getArg(1);
+
+ if (!score.isVariable())
+ throw new QueryExecException("Hit score is not a variable: "+argSubject) ;
+ } else {
+ s = argSubject.getArg() ;
+ }
if (s.isLiteral())
// Does not match
@@ -135,37 +149,52 @@ public class TextQueryPF extends PropertyFunctionBase {
// ----
QueryIterator qIter = (Var.isVar(s))
- ? variableSubject(binding, s, match, execCxt)
- : concreteSubject(binding, s, match, execCxt) ;
+ ? variableSubject(binding, s, score, match, execCxt)
+ : concreteSubject(binding, s, score, match, execCxt) ;
if (match.getLimit() >= 0)
qIter = new QueryIterSlice(qIter, 0, match.getLimit(), execCxt) ;
return qIter ;
}
- private QueryIterator variableSubject(Binding binding, Node s, StrMatch match, ExecutionContext execCxt) {
- Var v = Var.alloc(s) ;
- List<Node> r = query(match.getQueryString(), match.getLimit(), execCxt) ;
+ private QueryIterator variableSubject(Binding binding, Node s, Node score, StrMatch match, ExecutionContext execCxt) {
+ Var sVar = Var.alloc(s) ;
+ Var scoreVar = (score==null) ? null : Var.alloc(score) ;
+ List<TextHit> r = query(match.getQueryString(), match.getLimit(), execCxt) ;
// Make distinct. Note interaction with limit is imperfect
- r = Iter.iter(r).distinct().toList() ;
+/* r = Iter.iter(r).distinct().toList() ;
QueryIterator qIter = new QueryIterExtendByVar(binding, v, r.iterator(), execCxt) ;
+*/
+ Function<TextHit,Binding> converter = new TextHitConverter(binding, sVar, scoreVar);
+ Iterator<Binding> bIter = new Map1Iterator<TextHit, Binding>(converter, r.iterator());
+ QueryIterator qIter = new QueryIterPlainWrapper(bIter, execCxt);
return qIter ;
}
- private QueryIterator concreteSubject(Binding binding, Node s, StrMatch match, ExecutionContext execCxt) {
+ private QueryIterator concreteSubject(Binding binding, Node s, Node score, StrMatch match, ExecutionContext execCxt) {
if (!s.isURI()) {
log.warn("Subject not a URI: " + s) ;
return IterLib.noResults(execCxt) ;
}
+ Var scoreVar = (score==null) ? null : Var.alloc(score) ;
String qs = match.getQueryString() ;
- List<Node> x = query(match.getQueryString(), -1, execCxt) ;
- if ( x == null || ! x.contains(s) )
+ List<TextHit> x = query(match.getQueryString(), -1, execCxt) ;
+
+ if ( x == null ) // null return value - empty result
return IterLib.noResults(execCxt) ;
- else
- return IterLib.result(binding, execCxt) ;
+
+ for (TextHit hit : x ) {
+ if (hit.getNode().equals(s)) {
+ // found the node among the hits
+ return IterLib.oneResult(binding, scoreVar, NodeFactoryExtra.floatToNode(hit.getScore()), execCxt) ;
+ }
+ }
+
+ // node was not among the hits - empty result
+ return IterLib.noResults(execCxt) ;
}
- private List<Node> query(String queryString, int limit, ExecutionContext execCxt) {
+ private List<TextHit> query(String queryString, int limit, ExecutionContext execCxt) {
// use the graph information in the text index if possible
if (server.getDocDef().getGraphField() != null
&& execCxt.getActiveGraph() instanceof GraphView) {
http://git-wip-us.apache.org/repos/asf/jena/blob/4c99ec53/jena-text/src/test/java/org/apache/jena/query/text/AbstractTestDatasetWithTextIndex.java
----------------------------------------------------------------------
diff --git a/jena-text/src/test/java/org/apache/jena/query/text/AbstractTestDatasetWithTextIndex.java b/jena-text/src/test/java/org/apache/jena/query/text/AbstractTestDatasetWithTextIndex.java
index 75b3682..66da667 100644
--- a/jena-text/src/test/java/org/apache/jena/query/text/AbstractTestDatasetWithTextIndex.java
+++ b/jena-text/src/test/java/org/apache/jena/query/text/AbstractTestDatasetWithTextIndex.java
@@ -18,8 +18,11 @@
package org.apache.jena.query.text;
+import static org.junit.Assert.assertTrue;
+
import java.util.Arrays ;
import java.util.HashSet ;
+import java.util.Map ;
import java.util.Set ;
import org.apache.jena.atlas.lib.StrUtils ;
@@ -92,6 +95,24 @@ public abstract class AbstractTestDatasetWithTextIndex extends AbstractTestDatas
doTestSearch(turtle, queryString, expectedURIs);
}
+
+ @Test
+ public void propertyFunctionText_1_score() {
+ // As before but capturing the score in a variable.
+ final String turtle = PF_DATA ;
+ String queryString = StrUtils.strjoinNL(
+ QUERY_PROLOG,
+ "SELECT ?s ?score",
+ "WHERE {",
+ " (?s ?score) text:query ('text') .",
+ "}"
+ );
+
+ Set<String> expectedURIs = new HashSet<>();
+ expectedURIs.addAll( Arrays.asList( R_S1 ) ) ;
+ doTestSearchWithScores(turtle, queryString, expectedURIs);
+ }
+
@Test
public void propertyFunctionText_2() {
final String turtle = PF_DATA ;
@@ -125,6 +146,24 @@ public abstract class AbstractTestDatasetWithTextIndex extends AbstractTestDatas
}
@Test
+ public void propertyFunctionText_2_score() {
+ // As before but capturing the score in a variable.
+ final String turtle = PF_DATA ;
+ String queryString = StrUtils.strjoinNL(
+ QUERY_PROLOG,
+ "SELECT ?s ?score",
+ "WHERE {",
+ " (?s ?score) text:query ('text') .",
+ " ?s rdfs:label 'text' .",
+ "}"
+ );
+
+ Set<String> expectedURIs = new HashSet<>();
+ expectedURIs.addAll( Arrays.asList( R_S1 ) ) ;
+ doTestSearchWithScores(turtle, queryString, expectedURIs);
+ }
+
+ @Test
public void propertyFunctionText_3() {
final String turtle = PF_DATA ;
String queryString = StrUtils.strjoinNL(
@@ -157,6 +196,24 @@ public abstract class AbstractTestDatasetWithTextIndex extends AbstractTestDatas
}
@Test
+ public void propertyFunctionText_3_score() {
+ // As before but capturing the score in a variable.
+ final String turtle = PF_DATA ;
+ String queryString = StrUtils.strjoinNL(
+ QUERY_PROLOG,
+ "SELECT ?s ?score",
+ "WHERE {",
+ " ?s rdfs:label 'text' .",
+ " (?s ?score) text:query ('text') .",
+ "}"
+ );
+
+ Set<String> expectedURIs = new HashSet<>();
+ expectedURIs.addAll( Arrays.asList( R_S1 ) ) ;
+ doTestSearchWithScores(turtle, queryString, expectedURIs);
+ }
+
+ @Test
public void propertyFunctionText_4() {
final String turtle = PF_DATA ;
String queryString = StrUtils.strjoinNL(
@@ -276,6 +333,34 @@ public abstract class AbstractTestDatasetWithTextIndex extends AbstractTestDatas
}
@Test
+ public void testMultipleResults_score() {
+ final String turtle = StrUtils.strjoinNL(
+ TURTLE_PROLOG,
+ "<" + RESOURCE_BASE + "brownfox>",
+ " rdfs:label 'The quick brown fox jumped over the lazy dog.'",
+ ".",
+ "<" + RESOURCE_BASE + "redfox>",
+ " rdfs:label 'red fox'",
+ "."
+ );
+ String queryString = StrUtils.strjoinNL(
+ QUERY_PROLOG,
+ "SELECT ?s ?score",
+ "WHERE {",
+ " (?s ?score) text:query ( rdfs:label 'brown fox' 10 ) .",
+ "}"
+ );
+ Set<String> expectedURIs = new HashSet<>();
+ expectedURIs.addAll( Arrays.asList(
+ RESOURCE_BASE + "brownfox",
+ RESOURCE_BASE + "redfox"
+ ));
+ Map<String,Float> scores = doTestSearchWithScores(turtle, queryString, expectedURIs);
+ // the entry for ("The quick brown fox...") should have a higher score since it's a better match
+ assertTrue(scores.get(RESOURCE_BASE + "brownfox") > scores.get(RESOURCE_BASE + "redfox"));
+ }
+
+ @Test
public void testSearchCorrectField() {
String label = "tscf";
String label2 = "tscfo";
http://git-wip-us.apache.org/repos/asf/jena/blob/4c99ec53/jena-text/src/test/java/org/apache/jena/query/text/AbstractTestDatasetWithTextIndexBase.java
----------------------------------------------------------------------
diff --git 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
index b51651f..97f16e7 100644
--- 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
@@ -23,6 +23,8 @@ import static org.junit.Assert.assertTrue;
import java.io.Reader;
import java.io.StringReader;
+import java.util.HashMap;
+import java.util.Map;
import java.util.Set;
import org.apache.jena.atlas.lib.StrUtils;
@@ -73,7 +75,6 @@ public abstract class AbstractTestDatasetWithTextIndexBase {
dataset.begin(ReadWrite.READ);
try(QueryExecution qexec = QueryExecutionFactory.create(query, dataset)) {
ResultSet results = qexec.execSelect() ;
-
assertEquals(label, expectedNumResults > 0, results.hasNext());
int count;
for (count=0; results.hasNext(); count++) {
@@ -86,4 +87,36 @@ public abstract class AbstractTestDatasetWithTextIndexBase {
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();
+
+ 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;
+ }
+
}
[13/13] jena git commit: This closes #72
Posted by an...@apache.org.
This closes #72
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/999972e0
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/999972e0
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/999972e0
Branch: refs/heads/master
Commit: 999972e0ad332f048af56c876b51a804a0b030ba
Parents: 03637fc
Author: Andy Seaborne <an...@apache.org>
Authored: Tue Jun 2 13:56:10 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Tue Jun 2 13:56:10 2015 +0100
----------------------------------------------------------------------
----------------------------------------------------------------------
[12/13] jena git commit: Merge commit 'refs/pull/72/head' of
github.com:apache/jena
Posted by an...@apache.org.
Merge commit 'refs/pull/72/head' of github.com:apache/jena
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/03637fcb
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/03637fcb
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/03637fcb
Branch: refs/heads/master
Commit: 03637fcbffc677cf64cb424adf0f457fe8f8393b
Parents: bcba645 5d2a32f
Author: Andy Seaborne <an...@apache.org>
Authored: Tue Jun 2 13:53:59 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Tue Jun 2 13:53:59 2015 +0100
----------------------------------------------------------------------
.../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 | 35 +++++++-
9 files changed, 277 insertions(+), 53 deletions(-)
----------------------------------------------------------------------
[03/13] jena git commit: cleanup obsolete code
Posted by an...@apache.org.
cleanup obsolete code
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/6d01a6ac
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/6d01a6ac
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/6d01a6ac
Branch: refs/heads/master
Commit: 6d01a6ac99be56b6fe05f12a4abf484e4d3d4430
Parents: 3f0c517
Author: Osma Suominen <os...@aalto.fi>
Authored: Mon May 25 17:21:41 2015 +0300
Committer: Osma Suominen <os...@aalto.fi>
Committed: Mon May 25 17:21:41 2015 +0300
----------------------------------------------------------------------
.../src/main/java/org/apache/jena/query/text/TextQueryPF.java | 4 ----
1 file changed, 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/6d01a6ac/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
----------------------------------------------------------------------
diff --git a/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java b/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
index 4b37d95..ab1a908 100644
--- a/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
+++ b/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
@@ -185,10 +185,6 @@ public class TextQueryPF extends PropertyFunctionBase {
Var sVar = Var.alloc(s) ;
Var scoreVar = (score==null) ? null : Var.alloc(score) ;
List<TextHit> r = query(match.getQueryString(), match.getLimit(), execCxt) ;
- // Make distinct. Note interaction with limit is imperfect
-/* r = Iter.iter(r).distinct().toList() ;
- QueryIterator qIter = new QueryIterExtendByVar(binding, v, r.iterator(), execCxt) ;
-*/
Function<TextHit,Binding> converter = new TextHitConverter(binding, sVar, scoreVar);
Iterator<Binding> bIter = new Map1Iterator<TextHit, Binding>(converter, r.iterator());
QueryIterator qIter = new QueryIterPlainWrapper(bIter, execCxt);
[08/13] jena git commit: remove unused import QueryIterExtendByVar
Posted by an...@apache.org.
remove unused import QueryIterExtendByVar
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/3f98378c
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/3f98378c
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/3f98378c
Branch: refs/heads/master
Commit: 3f98378c1e70b6256e02c8d9835157ed6c1924d2
Parents: 40b10a0
Author: Osma Suominen <os...@aalto.fi>
Authored: Tue Jun 2 09:58:10 2015 +0300
Committer: Osma Suominen <os...@aalto.fi>
Committed: Tue Jun 2 09:58:10 2015 +0300
----------------------------------------------------------------------
jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java | 1 -
1 file changed, 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/3f98378c/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
----------------------------------------------------------------------
diff --git a/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java b/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
index 587f562..95dd87c 100644
--- a/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
+++ b/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
@@ -34,7 +34,6 @@ import org.apache.jena.sparql.core.* ;
import org.apache.jena.sparql.engine.ExecutionContext ;
import org.apache.jena.sparql.engine.QueryIterator ;
import org.apache.jena.sparql.engine.binding.Binding ;
-import org.apache.jena.sparql.engine.iterator.QueryIterExtendByVar ;
import org.apache.jena.sparql.engine.iterator.QueryIterPlainWrapper ;
import org.apache.jena.sparql.engine.iterator.QueryIterSlice ;
import org.apache.jena.sparql.mgt.Explain ;
[02/13] jena git commit: Merge remote-tracking branch
'upstream/master'
Posted by an...@apache.org.
Merge remote-tracking branch 'upstream/master'
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/3f0c5173
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/3f0c5173
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/3f0c5173
Branch: refs/heads/master
Commit: 3f0c5173eb59b37011d985e491a73cdd2dc93b31
Parents: 4c99ec5 66a1eda
Author: Osma Suominen <os...@aalto.fi>
Authored: Mon May 25 15:57:38 2015 +0300
Committer: Osma Suominen <os...@aalto.fi>
Committed: Mon May 25 15:57:38 2015 +0300
----------------------------------------------------------------------
.../main/java/org/apache/jena/query/ARQ.java | 4 +-
.../main/java/org/apache/jena/query/Query.java | 17 +
.../apache/jena/riot/out/NodeFormatterBase.java | 2 +-
.../org/apache/jena/riot/system/RiotChars.java | 44 +-
.../apache/jena/riot/thrift/ThriftConvert.java | 8 +
.../org/apache/jena/sparql/ARQConstants.java | 13 +-
.../apache/jena/sparql/core/VarExprList.java | 12 +-
.../jena/sparql/modify/GraphStoreBasic.java | 1 +
.../jena/sparql/modify/GraphStoreNull.java | 3 +
.../modify/GraphStoreNullTransactional.java | 2 +
.../jena/sparql/modify/GraphStoreWrapper.java | 1 +
.../pfunction/PropertyFunctionRegistry.java | 9 +-
.../sparql/serializer/FormatterElement.java | 4 +-
.../jena/sparql/syntax/ElementDataset.java | 13 +-
.../jena/sparql/syntax/ElementWalker.java | 4 +-
.../sparql/syntax/RecursiveElementVisitor.java | 2 +-
.../apache/jena/sparql/util/MappedLoader.java | 29 +-
.../jena/sparql/vocabulary/ListPFunction.java | 65 +-
.../java/org/apache/jena/update/GraphStore.java | 14 +-
.../src/main/java/riotcmd/CmdLangParse.java | 2 +-
.../apache/jena/riot/thrift/TS_RDFThrift.java | 1 -
.../apache/jena/riot/thrift/TestThriftTerm.java | 48 +-
.../sparql/api/TestQueryExecutionTimeout1.java | 2 +-
.../sparql/api/TestQueryExecutionTimeout2.java | 2 +-
.../org/apache/jena/sparql/path/TestPathPF.java | 10 +-
jena-arq/testing/ARQ/EngineMain/filter-1.rq | 2 +-
jena-arq/testing/ARQ/Function/concat-1.arq | 2 +-
jena-arq/testing/ARQ/Function/concat-2.arq | 2 +-
jena-arq/testing/ARQ/Function/func-03.rq | 2 +-
jena-arq/testing/ARQ/Function/func-04.rq | 2 +-
jena-arq/testing/ARQ/Function/func-sha1sum-1.rq | 2 +-
jena-arq/testing/ARQ/Function/func-sha1sum-2.rq | 2 +-
jena-arq/testing/ARQ/Function/localname-1.rq | 2 +-
jena-arq/testing/ARQ/Function/namespace-1.rq | 2 +-
jena-arq/testing/ARQ/Function/q-lang-1.rq | 2 +-
jena-arq/testing/ARQ/Function/q-lang-2.rq | 2 +-
jena-arq/testing/ARQ/Function/strjoin-1.arq | 2 +-
jena-arq/testing/ARQ/Function/strjoin-2.arq | 2 +-
jena-arq/testing/ARQ/Function/strlen-1.rq | 2 +-
jena-arq/testing/ARQ/Function/strlen-2.rq | 2 +-
jena-arq/testing/ARQ/Function/substring-1.rq | 2 +-
jena-arq/testing/ARQ/Function/substring-2.rq | 2 +-
jena-arq/testing/ARQ/Function/substring-3.rq | 2 +-
.../testing/ARQ/PropertyFunctions/assign-1.rq | 2 +-
.../testing/ARQ/PropertyFunctions/assign-2.rq | 2 +-
.../testing/ARQ/PropertyFunctions/assign-3.rq | 2 +-
.../testing/ARQ/PropertyFunctions/assign-4.rq | 2 +-
.../testing/ARQ/PropertyFunctions/assign-5.rq | 2 +-
.../testing/ARQ/PropertyFunctions/assign-6.rq | 2 +-
.../testing/ARQ/PropertyFunctions/concat-1.rq | 2 +-
.../testing/ARQ/PropertyFunctions/list-1.rq | 2 +-
.../testing/ARQ/PropertyFunctions/list-2.rq | 2 +-
.../testing/ARQ/PropertyFunctions/list-3.rq | 2 +-
.../testing/ARQ/PropertyFunctions/list-4.rq | 2 +-
.../testing/ARQ/PropertyFunctions/list-5.rq | 2 +-
.../testing/ARQ/PropertyFunctions/list-6.rq | 2 +-
.../testing/ARQ/PropertyFunctions/list-7.rq | 2 +-
.../testing/ARQ/PropertyFunctions/list-8.rq | 2 +-
.../testing/ARQ/PropertyFunctions/list-9.rq | 2 +-
.../ARQ/PropertyFunctions/list-index-1.rq | 2 +-
.../ARQ/PropertyFunctions/list-index-2.rq | 2 +-
.../ARQ/PropertyFunctions/list-index-3.rq | 2 +-
.../ARQ/PropertyFunctions/list-index-4.rq | 2 +-
.../ARQ/PropertyFunctions/list-index-5.rq | 2 +-
.../ARQ/PropertyFunctions/list-index-6.rq | 2 +-
.../ARQ/PropertyFunctions/list-index-7.rq | 2 +-
.../ARQ/PropertyFunctions/list-index-8.rq | 2 +-
.../ARQ/PropertyFunctions/list-index-9.rq | 2 +-
.../ARQ/PropertyFunctions/list-length-1.rq | 2 +-
.../ARQ/PropertyFunctions/list-length-2.rq | 2 +-
.../ARQ/PropertyFunctions/list-length-3.rq | 2 +-
jena-arq/testing/ARQ/PropertyFunctions/seq-1.rq | 2 +-
.../testing/ARQ/PropertyFunctions/splitIRI-1.rq | 2 +-
.../testing/ARQ/PropertyFunctions/splitIRI-2.rq | 2 +-
.../testing/ARQ/PropertyFunctions/splitIRI-3.rq | 2 +-
.../testing/ARQ/PropertyFunctions/splitIRI-4.rq | 2 +-
.../testing/ARQ/PropertyFunctions/splitIRI-5.rq | 2 +-
.../testing/ARQ/PropertyFunctions/splitIRI-6.rq | 2 +-
.../testing/ARQ/PropertyFunctions/splitIRI-7.rq | 2 +-
.../testing/ARQ/PropertyFunctions/splitIRI-8.rq | 2 +-
.../testing/ARQ/PropertyFunctions/splitIRI-9.rq | 2 +-
jena-arq/testing/ARQ/PropertyFunctions/str-1.rq | 2 +-
jena-arq/testing/ARQ/Sort/order-3.rq | 2 +-
.../testing/ARQ/SubQuery/graph-subquery-1.rq | 2 +-
.../java/org/apache/jena/atlas/lib/Bytes.java | 22 +
.../java/org/apache/jena/atlas/logging/Log.java | 11 +
.../org/apache/jena/atlas/lib/TestBytes.java | 22 +
jena-core/pom.xml | 474 ++---
.../apache/jena/assembler/AssemblerHelp.java | 9 +-
.../java/org/apache/jena/util/SplitIRI.java | 313 ++++
.../jena/assembler/test/TestAssemblerGroup.java | 18 +-
.../apache/jena/graph/GraphContractTest.java | 1729 ++++++++++++++++++
.../graph/GraphEventManagerContractTest.java | 500 +++++
.../jena/graph/GraphMakerContractTest.java | 295 +++
.../graph/GraphWithPerformContractTest.java | 86 +
.../jena/graph/RecordingGraphListener.java | 92 +
.../graph/TransactionHandlerContractTest.java | 136 ++
.../apache/jena/graph/compose/DeltaTest.java | 110 ++
.../jena/graph/compose/DifferenceTest.java | 97 +
.../jena/graph/compose/IntersectionTest.java | 109 ++
.../apache/jena/graph/compose/UnionTest.java | 185 ++
.../jena/graph/impl/CollectionGraph_CS.java | 67 +
.../jena/graph/impl/SimpleEventManager_CS.java | 54 +
.../jena/graph/impl/SimpleGraphMaker_CS.java | 54 +
.../graph/impl/SimpleTransactionHandler_CS.java | 54 +
.../jena/graph/impl/TestCollectionGraph.java | 39 -
.../graph/impl/TripleStoreContractTest.java | 160 ++
.../apache/jena/graph/impl/WrappedGraph_CS.java | 63 +
.../java/org/apache/jena/mem/ArrayBunch_CS.java | 52 +
.../apache/jena/mem/BunchMapContractTest.java | 163 ++
.../java/org/apache/jena/mem/GraphMem_CS.java | 115 ++
.../apache/jena/mem/GraphTripleStoreMem_CS.java | 51 +
.../apache/jena/mem/GraphTripleStore_CS.java | 51 +
.../org/apache/jena/mem/HashedBunchMap_CS.java | 52 +
.../apache/jena/mem/HashedTripleBunch_CS.java | 50 +
.../java/org/apache/jena/mem/SetBunch_CS.java | 50 +
.../jena/mem/TripleBunchContractTest.java | 205 +++
.../org/apache/jena/mem/WrappedHashMap_CS.java | 52 +
.../AbstractGraphProducer.java | 105 ++
.../AbstractInfModelProducer.java | 91 +
.../AbstractModelProducer.java | 89 +
.../AbstractRecordingListener.java | 190 ++
.../GraphEventManagerProducerInterface.java | 35 +
.../jena/testing_framework/GraphHelper.java | 508 +++++
.../testing_framework/IContainerProducer.java | 37 +
.../testing_framework/IIteratorProducer.java | 60 +
.../jena/testing_framework/INodeProducer.java | 39 +
.../testing_framework/IResourceProducer.java | 28 +
.../testing_framework/IStatementProducer.java | 45 +
.../testing_framework/ITripleStoreProducer.java | 35 +
.../jena/testing_framework/ModelHelper.java | 401 ++++
.../jena/testing_framework/NodeCreateUtils.java | 177 ++
.../NodeProducerInterface.java | 32 +
.../jena/testing_framework/TestFileData.java | 398 ++++
.../jena/testing_framework/TestUtils.java | 320 ++++
.../testing_framework/manifest/Manifest.java | 228 +++
.../manifest/ManifestException.java | 48 +
.../manifest/ManifestFile.java | 38 +
.../manifest/ManifestItem.java | 71 +
.../manifest/ManifestItemHandler.java | 32 +
.../manifest/ManifestSuite.java | 143 ++
.../manifest/ManifestTest.java | 31 +
.../manifest/ManifestTestRunner.java | 93 +
.../jena/testing_framework/package-info.java | 109 ++
.../testing_framework/tuples/TupleItem.java | 84 +
.../jena/testing_framework/tuples/TupleSet.java | 274 +++
.../java/org/apache/jena/util/TestPackage.java | 7 +-
.../org/apache/jena/util/TestSplitIRI_TTL.java | 160 ++
.../org/apache/jena/util/TestSplitIRI_XML.java | 138 ++
.../java/org/apache/jena/util/TestUtil.java | 138 --
.../hadoop/rdf/io/input/QuadsInputFormat.java | 5 +-
.../hadoop/rdf/io/input/TriplesInputFormat.java | 5 +-
.../rdf/io/input/TriplesOrQuadsInputFormat.java | 5 +-
.../io/input/jsonld/JsonLDQuadInputFormat.java | 5 +-
.../input/jsonld/JsonLDTripleInputFormat.java | 5 +-
.../input/nquads/BlockedNQuadsInputFormat.java | 5 +-
.../rdf/io/input/nquads/NQuadsInputFormat.java | 5 +-
.../nquads/WholeFileNQuadsInputFormat.java | 5 +-
.../ntriples/BlockedNTriplesInputFormat.java | 5 +-
.../io/input/ntriples/NTriplesInputFormat.java | 5 +-
.../ntriples/WholeFileNTriplesInputFormat.java | 5 +-
.../io/input/rdfjson/RdfJsonInputFormat.java | 5 +-
.../rdf/io/input/rdfxml/RdfXmlInputFormat.java | 5 +-
.../AbstractBlockBasedNodeTupleReader.java | 10 +-
.../AbstractLineBasedNodeTupleReader.java | 12 +-
.../AbstractWholeFileNodeTupleReader.java | 10 +-
.../io/input/thrift/ThriftQuadInputFormat.java | 5 +-
.../input/thrift/ThriftTripleInputFormat.java | 5 +-
.../rdf/io/input/trig/TriGInputFormat.java | 5 +-
.../rdf/io/input/trix/TriXInputFormat.java | 5 +-
.../rdf/io/input/turtle/TurtleInputFormat.java | 5 +-
.../rdf/io/output/AbstractNodeOutputFormat.java | 4 +-
.../output/AbstractNodeTupleOutputFormat.java | 4 +-
.../writers/AbstractBatchedNodeTupleWriter.java | 4 +-
.../AbstractLineBasedNodeTupleWriter.java | 5 +-
.../io/output/writers/AbstractNodeWriter.java | 5 +-
.../AbstractStreamRdfNodeTupleWriter.java | 6 +-
.../AbstractWholeFileNodeTupleWriter.java | 4 +-
.../registry/readers/JsonLDReaderFactory.java | 6 +-
.../registry/readers/NQuadsReaderFactory.java | 4 +-
.../registry/readers/NTriplesReaderFactory.java | 3 +-
.../registry/readers/RdfJsonReaderFactory.java | 4 +-
.../registry/readers/RdfXmlReaderFactory.java | 4 +-
.../registry/readers/ThriftReaderFactory.java | 6 +-
.../io/registry/readers/TriGReaderFactory.java | 4 +-
.../io/registry/readers/TriXReaderFactory.java | 4 +-
.../registry/readers/TurtleReaderFactory.java | 4 +-
.../registry/writers/JsonLDWriterFactory.java | 7 +-
.../registry/writers/NQuadsWriterFactory.java | 4 +-
.../registry/writers/NTriplesWriterFactory.java | 4 +-
.../registry/writers/RdfJsonWriterFactory.java | 4 +-
.../registry/writers/RdfXmlWriterFactory.java | 4 +-
.../registry/writers/ThriftWriterFactory.java | 7 +-
.../io/registry/writers/TriGWriterFactory.java | 4 +-
.../io/registry/writers/TriXWriterFactory.java | 4 +-
.../registry/writers/TurtleWriterFactory.java | 4 +-
.../AbstractNodeTupleInputFormatTests.java | 25 +-
.../AbstractWholeFileQuadInputFormatTests.java | 2 +-
.../io/input/bnodes/AbstractBlankNodeTests.java | 2 -
...CompressedWholeFileQuadInputFormatTests.java | 2 +-
.../apache/jena/hadoop/rdf/stats/RdfStats.java | 17 +-
jena-elephas/pom.xml | 2 +-
.../querybuilder/handlers/DatasetHandler.java | 49 +-
.../jena/arq/querybuilder/handlers/Handler.java | 16 -
.../querybuilder/handlers/SelectHandler.java | 31 +-
.../handlers/SolutionModifierHandler.java | 21 +-
.../arq/querybuilder/handlers/WhereHandler.java | 33 +-
.../querybuilder/rewriters/ElementRewriter.java | 4 +-
.../querybuilder/clauses/WhereClauseTest.java | 2 +-
.../handlers/SelectHandlerTest.java | 9 +-
.../querybuilder/handlers/WhereHandlerTest.java | 4 +-
.../apache/jena/fuseki/mgt/ActionBackup.java | 35 +-
.../apache/jena/fuseki/server/FusekiConfig.java | 8 +-
.../jena/fuseki/servlets/SPARQL_REST.java | 4 +-
.../fuseki/servlets/SimpleVelocityServlet.java | 2 +-
.../org/apache/jena/fuseki/build/Builder.java | 6 +-
.../jena/fuseki/build/DataServiceDesc.java | 106 --
.../apache/jena/fuseki/build/FusekiConfig.java | 5 +-
.../apache/jena/fuseki/mgt/ActionDatasets.java | 3 +-
.../apache/jena/fuseki/server/DataService.java | 15 +-
.../apache/jena/fuseki/server/SystemState.java | 6 +-
.../apache/jena/fuseki/servlets/ActionBase.java | 4 +-
.../apache/jena/fuseki/servlets/ActionREST.java | 4 +-
.../jena/fuseki/servlets/FusekiFilter.java | 2 +-
.../jena/fuseki/servlets/SPARQL_Upload.java | 104 +-
.../org/apache/jena/fuseki/TestDatasetOps.java | 14 +-
.../AbstractJenaConnectionTests.java | 4 +-
jena-parent/pom.xml | 12 +-
.../java/org/apache/jena/sdb/SDBFactory.java | 67 +-
.../jena/sdb/layout1/TupleLoaderSimple.java | 6 +-
.../sdb/layout2/hash/TupleLoaderOneHash.java | 2 +-
.../jena/sdb/script/CmdDescAssembler.java | 2 +-
.../org/apache/jena/sdb/sql/DataSourceSDB.java | 14 +-
.../apache/jena/sdb/store/DatasetGraphSDB.java | 3 +-
.../org/apache/jena/sdb/store/FeatureSet.java | 3 +-
.../apache/jena/sdb/test/junit/StoreList.java | 2 +-
jena-sdb/testing/slist.rq | 2 +-
.../jena/query/spatial/EntityDefinition.java | 2 -
.../assembler/EntityDefinitionAssembler.java | 2 +-
.../apache/jena/tdb/store/DatasetGraphTDB.java | 3 +-
.../transaction/DatasetGraphTransaction.java | 3 +-
.../apache/jena/tdb/extra/T_TransSystem.java | 2 +-
.../org/apache/jena/tdb/junit/QueryTestTDB.java | 2 +-
.../main/java/examples/JenaTextExample1.java | 6 +-
.../java/org/apache/jena/query/text/Entity.java | 9 +-
.../jena/query/text/EntityDefinition.java | 56 +-
.../jena/query/text/TextDatasetFactory.java | 50 +-
.../apache/jena/query/text/TextIndexConfig.java | 61 +
.../apache/jena/query/text/TextIndexLucene.java | 68 +-
.../query/text/TextIndexLuceneMultilingual.java | 75 +
.../apache/jena/query/text/TextQueryFuncs.java | 9 +-
.../org/apache/jena/query/text/TextQueryPF.java | 39 +-
.../apache/jena/query/text/analyzer/Util.java | 96 +
.../assembler/EntityDefinitionAssembler.java | 10 +-
.../assembler/LocalizedAnalyzerAssembler.java | 60 +
.../query/text/assembler/TextAssembler.java | 1 +
.../assembler/TextIndexLuceneAssembler.java | 40 +-
.../jena/query/text/assembler/TextVocab.java | 5 +
...ractTestDatasetWithLuceneGraphTextIndex.java | 6 +-
.../org/apache/jena/query/text/TS_Text.java | 3 +
.../jena/query/text/TestBuildTextDataset.java | 5 +-
.../text/TestDatasetWithLocalizedAnalyzer.java | 147 ++
...tDatasetWithLuceneMultilingualTextIndex.java | 238 +++
...DatasetWithLuceneTextIndexWithLangField.java | 126 ++
.../text/TestLuceneWithMultipleThreads.java | 10 +-
.../org/apache/jena/query/text/TestTextTDB.java | 5 +-
jena-text/testing/TextQuery/data.skos | 36 +
267 files changed, 10981 insertions(+), 1237 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/3f0c5173/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java
----------------------------------------------------------------------
diff --cc jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java
index 98a0f63,cd9ea2f..983e3a2
--- a/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java
+++ b/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java
@@@ -303,9 -321,9 +321,9 @@@ public class TextIndexLucene implement
}
}
- private List<Node> query$(IndexReader indexReader, String qs, int limit) throws ParseException, IOException {
+ private List<TextHit> query$(IndexReader indexReader, String qs, int limit) throws ParseException, IOException {
IndexSearcher indexSearcher = new IndexSearcher(indexReader) ;
- Query query = parseQuery(qs, docDef.getPrimaryField(), queryAnalyzer) ;
+ Query query = preParseQuery(qs, docDef.getPrimaryField(), queryAnalyzer) ;
if ( limit <= 0 )
limit = MAX_N ;
ScoreDoc[] sDocs = indexSearcher.search(query, limit).scoreDocs ;
http://git-wip-us.apache.org/repos/asf/jena/blob/3f0c5173/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
----------------------------------------------------------------------
diff --cc jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
index 6520516,81dc412..4b37d95
--- a/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
+++ b/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
@@@ -70,10 -67,14 +72,14 @@@ public class TextQueryPF extends Proper
DatasetGraph dsg = execCxt.getDataset() ;
server = chooseTextIndex(dsg) ;
- if (!argSubject.isNode())
- throw new QueryBuildException("Subject is not a single node: " + argSubject) ;
+ if (argSubject.isList() && argSubject.getArgListSize() != 2)
+ throw new QueryBuildException("Subject has "+argSubject.getArgList().size()+" elements, not 2: "+argSubject);
if (argObject.isList()) {
+ //extract of extra lang arg if present and if is usable.
+ //arg is removed from the list to avoid conflict with order and args length
+ langArg = extractArg("lang", argObject);
+
List<Node> list = argObject.getArgList() ;
if (list.size() == 0)
throw new QueryBuildException("Zero-length argument list") ;
[07/13] jena git commit: add missing @Override declaration
Posted by an...@apache.org.
add missing @Override declaration
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/40b10a00
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/40b10a00
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/40b10a00
Branch: refs/heads/master
Commit: 40b10a007bae4ebc0cf5aea77d8bb940c45c2ac1
Parents: 51cb035
Author: Osma Suominen <os...@aalto.fi>
Authored: Tue Jun 2 09:57:12 2015 +0300
Committer: Osma Suominen <os...@aalto.fi>
Committed: Tue Jun 2 09:57:12 2015 +0300
----------------------------------------------------------------------
.../src/main/java/org/apache/jena/query/text/TextHitConverter.java | 1 +
1 file changed, 1 insertion(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/40b10a00/jena-text/src/main/java/org/apache/jena/query/text/TextHitConverter.java
----------------------------------------------------------------------
diff --git a/jena-text/src/main/java/org/apache/jena/query/text/TextHitConverter.java b/jena-text/src/main/java/org/apache/jena/query/text/TextHitConverter.java
index 36ee88b..2894680 100644
--- a/jena-text/src/main/java/org/apache/jena/query/text/TextHitConverter.java
+++ b/jena-text/src/main/java/org/apache/jena/query/text/TextHitConverter.java
@@ -39,6 +39,7 @@ public class TextHitConverter implements Function<TextHit, Binding>
this.score = score;
}
+ @Override
public Binding apply(TextHit hit) {
if (score == null)
return BindingFactory.binding(binding, match, hit.getNode());
[04/13] jena git commit: Merge branch 'master' of
https://github.com/apache/jena
Posted by an...@apache.org.
Merge branch 'master' of https://github.com/apache/jena
Conflicts:
jena-text/src/main/java/org/apache/jena/query/text/TextIndex.java
jena-text/src/main/java/org/apache/jena/query/text/TextIndexSolr.java
jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/1b125934
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/1b125934
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/1b125934
Branch: refs/heads/master
Commit: 1b125934f585aba3e267f77a36cc03a6771aaaaa
Parents: 3f0c517 e789e9f
Author: Osma Suominen <os...@aalto.fi>
Authored: Fri May 29 15:42:27 2015 +0300
Committer: Osma Suominen <os...@aalto.fi>
Committed: Fri May 29 15:42:27 2015 +0300
----------------------------------------------------------------------
.../org/apache/jena/riot/lang/ReaderTriX.java | 3 +-
.../jena/datatypes/xsd/impl/RDFLangString.java | 2 +-
.../apache/jena/graph/test/NodeCreateUtils.java | 4 +-
jena-fuseki1/soh | 2 +-
jena-fuseki2/apache-jena-fuseki/bin/s-delete | 16 ++-
jena-fuseki2/apache-jena-fuseki/bin/s-get | 16 ++-
jena-fuseki2/apache-jena-fuseki/bin/s-head | 16 ++-
jena-fuseki2/apache-jena-fuseki/bin/s-post | 16 ++-
jena-fuseki2/apache-jena-fuseki/bin/s-put | 16 ++-
jena-fuseki2/apache-jena-fuseki/bin/s-query | 16 ++-
jena-fuseki2/apache-jena-fuseki/bin/s-update | 16 ++-
.../apache-jena-fuseki/bin/s-update-form | 16 ++-
jena-fuseki2/apache-jena-fuseki/bin/soh | 16 ++-
.../jena/fuseki/servlets/SPARQL_Protocol.java | 9 +-
.../jena/fuseki/servlets/SPARQL_Query.java | 9 +-
.../jena/fuseki/servlets/SPARQL_Update.java | 7 +-
.../org/apache/jena/query/text/TextIndex.java | 4 +-
.../apache/jena/query/text/TextIndexLucene.java | 24 ++--
.../query/text/TextIndexParseException.java | 40 +++++++
.../apache/jena/query/text/TextIndexSolr.java | 119 +++++++++----------
.../org/apache/jena/query/text/TextQueryPF.java | 74 +++++++-----
21 files changed, 269 insertions(+), 172 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/1b125934/jena-text/src/main/java/org/apache/jena/query/text/TextIndex.java
----------------------------------------------------------------------
diff --cc jena-text/src/main/java/org/apache/jena/query/text/TextIndex.java
index b57db5b,fe19b7b..a34e87a
--- a/jena-text/src/main/java/org/apache/jena/query/text/TextIndex.java
+++ b/jena-text/src/main/java/org/apache/jena/query/text/TextIndex.java
@@@ -45,10 -45,12 +45,12 @@@ public interface TextIndex extends Clos
//** score
// Need to have more complex results.
- /** Access the index - limit if -1 for as many as possible */
+ /** Access the index - limit if -1 for as many as possible
+ * Throw QueryParseException for syntax errors in the query string.
+ */
- List<Node> query(String qs, int limit) ;
+ List<TextHit> query(String qs, int limit) ;
- List<Node> query(String qs) ;
+ List<TextHit> query(String qs) ;
EntityDefinition getDocDef() ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/1b125934/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/1b125934/jena-text/src/main/java/org/apache/jena/query/text/TextIndexSolr.java
----------------------------------------------------------------------
diff --cc jena-text/src/main/java/org/apache/jena/query/text/TextIndexSolr.java
index 69848d8,718d4c7..b9bddaf
--- a/jena-text/src/main/java/org/apache/jena/query/text/TextIndexSolr.java
+++ b/jena-text/src/main/java/org/apache/jena/query/text/TextIndexSolr.java
@@@ -183,38 -178,36 +178,35 @@@ public class TextIndexSolr implements T
}
@Override
- public List<Node> query(String qs) { return query(qs, 0) ; }
+ public List<TextHit> query(String qs) { return query(qs, 0) ; }
@Override
- public List<TextHit> query(String qs, int limit)
- {
- public List<Node> query(String qs, int limit) {
++ public List<TextHit> query(String qs, int limit) {
SolrDocumentList solrResults = solrQuery(qs, limit) ;
- List<Node> results = new ArrayList<>() ;
+ List<TextHit> results = new ArrayList<>() ;
- for ( SolrDocument sd : solrResults )
- {
+ for ( SolrDocument sd : solrResults ) {
- // ** score
- // 'score' field.
String str = (String)sd.getFieldValue(docDef.getEntityField()) ;
- //log.info("Entity: "+uriStr) ;
+ // log.info("Entity: "+uriStr) ;
Node n = TextQueryFuncs.stringToNode(str) ;
- results.add(n) ;
+ Float score = (Float) sd.getFirstValue("score");
+ TextHit hit = new TextHit(n, score.floatValue());
+ results.add(hit) ;
}
if ( limit > 0 && results.size() > limit )
results = results.subList(0, limit) ;
- return results ;
+ return results ;
}
- private SolrDocumentList solrQuery(String qs, int limit)
- {
+ private SolrDocumentList solrQuery(String qs, int limit) {
SolrQuery sq = new SolrQuery(qs) ;
- // ** score
- // sq.setIncludeScore(true) ;
+ sq.setIncludeScore(true) ;
if ( limit > 0 )
sq.setRows(limit) ;
- else
- sq.setRows(MAX_N) ; // The Solr default is 10.
+ else
+ sq.setRows(MAX_N) ; // The Solr default is 10.
try {
// Set default field.
sq.add(CommonParams.DF, docDef.getPrimaryField()) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/1b125934/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
----------------------------------------------------------------------
diff --cc jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
index 4b37d95,5a48add..587f562
--- a/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
+++ b/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
@@@ -52,12 -47,12 +52,10 @@@ import org.slf4j.LoggerFactory
public class TextQueryPF extends PropertyFunctionBase {
private static Logger log = LoggerFactory.getLogger(TextQueryPF.class) ;
/*
-- * ?uri :queryPF (property? "string" limit? score?)
-- * (?uri ?score) not implemented
-- * Look for "//** score" in TextQueryPF, TextIndexLucene and TextIndexSolr
++ * (?uri ?score) :queryPF (property? "string" limit? score?)
*/
- private TextIndex server = null ;
+ private TextIndex textIndex = null ;
private boolean warningIssued = false ;
public TextQueryPF() {}
@@@ -67,20 -62,16 +65,15 @@@
@Override
public void build(PropFuncArg argSubject, Node predicate, PropFuncArg argObject, ExecutionContext execCxt) {
super.build(argSubject, predicate, argObject, execCxt) ;
-- //** score
-- // Subject possibilities become ?foo or (?foo ?score)
DatasetGraph dsg = execCxt.getDataset() ;
- server = chooseTextIndex(dsg) ;
+ textIndex = chooseTextIndex(dsg) ;
- if (!argSubject.isNode())
- throw new QueryBuildException("Subject is not a single node: " + argSubject) ;
+
+ if (argSubject.isList() && argSubject.getArgListSize() != 2)
+ throw new QueryBuildException("Subject has "+argSubject.getArgList().size()+" elements, not 2: "+argSubject);
if (argObject.isList()) {
- //extract of extra lang arg if present and if is usable.
- //arg is removed from the list to avoid conflict with order and args length
- langArg = extractArg("lang", argObject);
-
List<Node> list = argObject.getArgList() ;
+
if (list.size() == 0)
throw new QueryBuildException("Zero-length argument list") ;
@@@ -181,17 -172,12 +183,13 @@@
return qIter ;
}
- private QueryIterator variableSubject(Binding binding, Node s, StrMatch match, ExecutionContext execCxt) {
- Var v = Var.alloc(s) ;
- List<Node> r = query(match.getQueryString(), match.getLimit(), execCxt) ;
- // Make distinct. Note interaction with limit is imperfect
- r = Iter.iter(r).distinct().toList() ;
- QueryIterator qIter = new QueryIterExtendByVar(binding, v, r.iterator(), execCxt) ;
+ private QueryIterator variableSubject(Binding binding, Node s, Node score, StrMatch match, ExecutionContext execCxt) {
+ Var sVar = Var.alloc(s) ;
+ Var scoreVar = (score==null) ? null : Var.alloc(score) ;
+ List<TextHit> r = query(match.getQueryString(), match.getLimit(), execCxt) ;
- // Make distinct. Note interaction with limit is imperfect
- /* r = Iter.iter(r).distinct().toList() ;
- QueryIterator qIter = new QueryIterExtendByVar(binding, v, r.iterator(), execCxt) ;
- */
+ Function<TextHit,Binding> converter = new TextHitConverter(binding, sVar, scoreVar);
+ Iterator<Binding> bIter = new Map1Iterator<TextHit, Binding>(converter, r.iterator());
+ QueryIterator qIter = new QueryIterPlainWrapper(bIter, execCxt);
return qIter ;
}
@@@ -201,27 -187,17 +199,27 @@@
return IterLib.noResults(execCxt) ;
}
+ Var scoreVar = (score==null) ? null : Var.alloc(score) ;
String qs = match.getQueryString() ;
- List<Node> x = query(match.getQueryString(), -1, execCxt) ;
- if ( x == null || ! x.contains(s) )
+ List<TextHit> x = query(match.getQueryString(), -1, execCxt) ;
+
+ if ( x == null ) // null return value - empty result
return IterLib.noResults(execCxt) ;
- else
- return IterLib.result(binding, execCxt) ;
+
+ for (TextHit hit : x ) {
+ if (hit.getNode().equals(s)) {
+ // found the node among the hits
+ return IterLib.oneResult(binding, scoreVar, NodeFactoryExtra.floatToNode(hit.getScore()), execCxt) ;
+ }
+ }
+
+ // node was not among the hits - empty result
+ return IterLib.noResults(execCxt) ;
}
- private List<Node> query(String queryString, int limit, ExecutionContext execCxt) {
+ private List<TextHit> query(String queryString, int limit, ExecutionContext execCxt) {
// use the graph information in the text index if possible
- if (server.getDocDef().getGraphField() != null
+ if (textIndex.getDocDef().getGraphField() != null
&& execCxt.getActiveGraph() instanceof GraphView) {
GraphView activeGraph = (GraphView)execCxt.getActiveGraph() ;
if (!Quad.isUnionGraph(activeGraph.getGraphName())) {
[09/13] jena git commit: remove unused import InternalErrorException
Posted by an...@apache.org.
remove unused import InternalErrorException
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/b9bdf53e
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/b9bdf53e
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/b9bdf53e
Branch: refs/heads/master
Commit: b9bdf53e5df7a25250a41812be236c8fd4338072
Parents: 3f98378
Author: Osma Suominen <os...@aalto.fi>
Authored: Tue Jun 2 09:58:53 2015 +0300
Committer: Osma Suominen <os...@aalto.fi>
Committed: Tue Jun 2 09:58:53 2015 +0300
----------------------------------------------------------------------
jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java | 1 -
1 file changed, 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/b9bdf53e/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
----------------------------------------------------------------------
diff --git a/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java b/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
index 95dd87c..8aa2547 100644
--- a/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
+++ b/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
@@ -23,7 +23,6 @@ import java.util.List ;
import java.util.function.Function ;
import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.lib.InternalErrorException ;
import org.apache.jena.atlas.logging.Log ;
import org.apache.jena.datatypes.RDFDatatype ;
import org.apache.jena.datatypes.xsd.XSDDatatype ;
[05/13] jena git commit: Merge branch 'jena-text-score' of
https://github.com/osma/jena into jena-text-score
Posted by an...@apache.org.
Merge branch 'jena-text-score' of https://github.com/osma/jena into jena-text-score
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/66eec1b0
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/66eec1b0
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/66eec1b0
Branch: refs/heads/master
Commit: 66eec1b0f9c6fa9cfaed8b1f7faa4357cf6a250b
Parents: 1b12593 6d01a6a
Author: Osma Suominen <os...@aalto.fi>
Authored: Fri May 29 15:43:46 2015 +0300
Committer: Osma Suominen <os...@aalto.fi>
Committed: Fri May 29 15:43:46 2015 +0300
----------------------------------------------------------------------
----------------------------------------------------------------------
[11/13] jena git commit: remove remaining "// *** score" markers
Posted by an...@apache.org.
remove remaining "// *** score" markers
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/5d2a32f8
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/5d2a32f8
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/5d2a32f8
Branch: refs/heads/master
Commit: 5d2a32f86deb210571fb803ecea21dfc785ea230
Parents: 9c27f23
Author: Osma Suominen <os...@aalto.fi>
Authored: Tue Jun 2 10:02:33 2015 +0300
Committer: Osma Suominen <os...@aalto.fi>
Committed: Tue Jun 2 10:02:33 2015 +0300
----------------------------------------------------------------------
jena-text/src/main/java/org/apache/jena/query/text/TextIndex.java | 3 ---
.../src/main/java/org/apache/jena/query/text/TextIndexLucene.java | 2 --
2 files changed, 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/5d2a32f8/jena-text/src/main/java/org/apache/jena/query/text/TextIndex.java
----------------------------------------------------------------------
diff --git a/jena-text/src/main/java/org/apache/jena/query/text/TextIndex.java b/jena-text/src/main/java/org/apache/jena/query/text/TextIndex.java
index a34e87a..9204ac4 100644
--- a/jena-text/src/main/java/org/apache/jena/query/text/TextIndex.java
+++ b/jena-text/src/main/java/org/apache/jena/query/text/TextIndex.java
@@ -42,9 +42,6 @@ public interface TextIndex extends Closeable //, Transactional
/** Get all entries for uri */
Map<String, Node> get(String uri) ;
- //** score
- // Need to have more complex results.
-
/** Access the index - limit if -1 for as many as possible
* Throw QueryParseException for syntax errors in the query string.
*/
http://git-wip-us.apache.org/repos/asf/jena/blob/5d2a32f8/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java
----------------------------------------------------------------------
diff --git a/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java b/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java
index f26562a..7c76330 100644
--- a/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java
+++ b/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java
@@ -272,7 +272,6 @@ public class TextIndexLucene implements TextIndex {
// Align and DRY with Solr.
for ( ScoreDoc sd : sDocs ) {
- //** score :: sd.score
Document doc = indexSearcher.doc(sd.doc) ;
String[] x = doc.getValues(docDef.getEntityField()) ;
if ( x.length != 1 ) {}
@@ -301,7 +300,6 @@ public class TextIndexLucene implements TextIndex {
@Override
public List<TextHit> query(String qs, int limit) {
- //** score
try (IndexReader indexReader = DirectoryReader.open(directory)) {
return query$(indexReader, qs, limit) ;
}
[10/13] jena git commit: switch to Iter.map instead of Map1Iterator
Posted by an...@apache.org.
switch to Iter.map instead of Map1Iterator
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/9c27f231
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/9c27f231
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/9c27f231
Branch: refs/heads/master
Commit: 9c27f23102e2615a9775bd4079716930200f1f33
Parents: b9bdf53
Author: Osma Suominen <os...@aalto.fi>
Authored: Tue Jun 2 10:00:47 2015 +0300
Committer: Osma Suominen <os...@aalto.fi>
Committed: Tue Jun 2 10:00:47 2015 +0300
----------------------------------------------------------------------
.../src/main/java/org/apache/jena/query/text/TextQueryPF.java | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/9c27f231/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
----------------------------------------------------------------------
diff --git a/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java b/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
index 8aa2547..0032be8 100644
--- a/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
+++ b/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
@@ -41,7 +41,6 @@ import org.apache.jena.sparql.pfunction.PropertyFunctionBase ;
import org.apache.jena.sparql.util.Context ;
import org.apache.jena.sparql.util.IterLib ;
import org.apache.jena.sparql.util.NodeFactoryExtra ;
-import org.apache.jena.util.iterator.Map1Iterator ;
import org.apache.lucene.queryparser.classic.QueryParserBase ;
import org.slf4j.Logger ;
import org.slf4j.LoggerFactory ;
@@ -186,7 +185,7 @@ public class TextQueryPF extends PropertyFunctionBase {
Var scoreVar = (score==null) ? null : Var.alloc(score) ;
List<TextHit> r = query(match.getQueryString(), match.getLimit(), execCxt) ;
Function<TextHit,Binding> converter = new TextHitConverter(binding, sVar, scoreVar);
- Iterator<Binding> bIter = new Map1Iterator<TextHit, Binding>(converter, r.iterator());
+ Iterator<Binding> bIter = Iter.map(r.iterator(), converter);
QueryIterator qIter = new QueryIterPlainWrapper(bIter, execCxt);
return qIter ;
}
[06/13] jena git commit: use singleton binding if no score is
requested
Posted by an...@apache.org.
use singleton binding if no score is requested
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/51cb0351
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/51cb0351
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/51cb0351
Branch: refs/heads/master
Commit: 51cb03511585aea2c5097d6d930acfca5dfc5ee5
Parents: 66eec1b
Author: Osma Suominen <os...@aalto.fi>
Authored: Tue Jun 2 09:55:27 2015 +0300
Committer: Osma Suominen <os...@aalto.fi>
Committed: Tue Jun 2 09:55:27 2015 +0300
----------------------------------------------------------------------
.../main/java/org/apache/jena/query/text/TextHitConverter.java | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/51cb0351/jena-text/src/main/java/org/apache/jena/query/text/TextHitConverter.java
----------------------------------------------------------------------
diff --git a/jena-text/src/main/java/org/apache/jena/query/text/TextHitConverter.java b/jena-text/src/main/java/org/apache/jena/query/text/TextHitConverter.java
index 3ee29c9..36ee88b 100644
--- a/jena-text/src/main/java/org/apache/jena/query/text/TextHitConverter.java
+++ b/jena-text/src/main/java/org/apache/jena/query/text/TextHitConverter.java
@@ -40,11 +40,11 @@ public class TextHitConverter implements Function<TextHit, Binding>
}
public Binding apply(TextHit hit) {
+ if (score == null)
+ return BindingFactory.binding(binding, match, hit.getNode());
BindingMap bmap = BindingFactory.create(binding);
bmap.add(match, hit.getNode());
- if (score != null) {
- bmap.add(score, NodeFactoryExtra.floatToNode(hit.getScore()));
- }
+ bmap.add(score, NodeFactoryExtra.floatToNode(hit.getScore()));
return bmap;
}
}