Author: andy
Date: Mon Dec 9 12:18:28 2013
New Revision: 1549561
URL: http://svn.apache.org/r1549561
Log:
Fixes for bnode as graph label : JENA-605
Modified:
jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextDocProducerTriples.java
jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextQuery.java
jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
jena/trunk/jena-text/src/test/java/org/apache/jena/query/text/AbstractTestDatasetWithGraphTextIndex.java
Modified:
jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextDocProducerTriples.java
URL:
http://svn.apache.org/viewvc/jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextDocProducerTriples.java?rev=1549561&r1=1549560&r2=1549561&view=diff
==============================================================================
---
jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextDocProducerTriples.java
(original)
+++
jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextDocProducerTriples.java
Mon Dec 9 12:18:28 2013
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package org.apache.jena.query.text;
+package org.apache.jena.query.text ;
import java.util.List ;
@@ -31,62 +31,60 @@ import com.hp.hpl.jena.sparql.core.Quad
import com.hp.hpl.jena.sparql.core.QuadAction ;
import com.hp.hpl.jena.sparql.util.FmtUtils ;
-public class TextDocProducerTriples implements TextDocProducer
-{
- private static Logger log =
LoggerFactory.getLogger(TextDocProducerTriples.class) ;
+public class TextDocProducerTriples implements TextDocProducer {
+ private static Logger log =
LoggerFactory.getLogger(TextDocProducerTriples.class) ;
private final EntityDefinition defn ;
- private final TextIndex indexer ;
- private boolean started = false ;
-
- public TextDocProducerTriples(EntityDefinition defn, TextIndex indexer)
- {
+ private final TextIndex indexer ;
+ private boolean started = false ;
+
+ public TextDocProducerTriples(EntityDefinition defn, TextIndex indexer) {
this.defn = defn ;
this.indexer = indexer ;
}
-
+
@Override
- public void start()
- { indexer.startIndexing() ; started = true ;}
+ public void start() {
+ indexer.startIndexing() ;
+ started = true ;
+ }
@Override
- public void finish()
- { indexer.finishIndexing() ; }
+ public void finish() {
+ indexer.finishIndexing() ;
+ }
@Override
- public void change(QuadAction qaction, Node g, Node s, Node p, Node o)
- {
+ public void change(QuadAction qaction, Node g, Node s, Node p, Node o) {
// One document per triple/quad
-
- if ( qaction != QuadAction.ADD)
+
+ if ( qaction != QuadAction.ADD )
return ;
-
+
String field = defn.getField(p) ;
if ( field == null )
return ;
- String x = (s.isURI() ) ? s.getURI() : s.getBlankNodeLabel() ;
- String graph = (g.isURI() ) ? g.getURI() : "_:" +
g.getBlankNodeLabel() ;
+ String x = (s.isURI()) ? s.getURI() : s.getBlankNodeLabel() ;
+ String graph = TextQuery.graphNodeToString(g) ;
Entity entity = new Entity(x, graph) ;
- if ( ! o.isLiteral() )
- {
- log.warn("Not a literal value for mapped field-predicate:
"+field+" :: "+FmtUtils.stringForString(field)) ;
+ if ( !o.isLiteral() ) {
+ log.warn("Not a literal value for mapped field-predicate: " +
field + " :: "
+ + FmtUtils.stringForString(field)) ;
return ;
}
entity.put(field, o.getLiteralLexicalForm()) ;
indexer.addEntity(entity) ;
}
- static Transform<Quad, Triple> QuadsToTriples = new Transform<Quad,
Triple>()
- {
- @Override
- public Triple convert(Quad item)
- {
- return item.asTriple() ;
- }
-
- } ;
-
- static private List<Triple> quadsToTriples(List<Quad> quads) { return
Iter.map(quads, QuadsToTriples) ; }
-}
+ static Transform<Quad, Triple> QuadsToTriples = new Transform<Quad,
Triple>() {
+ @Override
+ public Triple
convert(Quad item) {
+ return
item.asTriple() ;
+ }
+ } ;
+ static private List<Triple> quadsToTriples(List<Quad> quads) {
+ return Iter.map(quads, QuadsToTriples) ;
+ }
+}
Modified:
jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextQuery.java
URL:
http://svn.apache.org/viewvc/jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextQuery.java?rev=1549561&r1=1549560&r2=1549561&view=diff
==============================================================================
---
jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextQuery.java
(original)
+++
jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextQuery.java
Mon Dec 9 12:18:28 2013
@@ -20,6 +20,7 @@ package org.apache.jena.query.text;
import org.apache.jena.query.text.assembler.TextAssembler ;
+import com.hp.hpl.jena.graph.Node ;
import com.hp.hpl.jena.sparql.SystemARQ ;
import com.hp.hpl.jena.sparql.lib.Metadata ;
import com.hp.hpl.jena.sparql.mgt.ARQMgt ;
@@ -70,5 +71,11 @@ public class TextQuery
});
}
}
+
+ public static String graphNodeToString(Node g) {
+ if ( ! (g.isURI() || g.isBlank() ) )
+ throw new TextIndexException("Found a graph label that is not a
URI nor a blank node: "+g) ;
+ return (g.isURI() ) ? g.getURI() : "_:" + g.getBlankNodeLabel() ;
+ }
}
Modified:
jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
URL:
http://svn.apache.org/viewvc/jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java?rev=1549561&r1=1549560&r2=1549561&view=diff
==============================================================================
---
jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
(original)
+++
jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
Mon Dec 9 12:18:28 2013
@@ -188,7 +188,10 @@ public class TextQueryPF extends Propert
&& execCxt.getActiveGraph() instanceof GraphView) {
GraphView activeGraph = (GraphView)execCxt.getActiveGraph() ;
if (!Quad.isUnionGraph(activeGraph.getGraphName())) {
- String uri = activeGraph.getGraphName() != null ?
activeGraph.getGraphName().getURI() : Quad.defaultGraphNodeGenerated.getURI() ;
+ String uri =
+ activeGraph.getGraphName() != null
+ ? TextQuery.graphNodeToString(activeGraph.getGraphName())
+ : Quad.defaultGraphNodeGenerated.getURI() ;
String escaped = QueryParser.escape(uri) ;
String qs2 = server.getDocDef().getGraphField() + ":" +
escaped ;
queryString = "(" + queryString + ") AND " + qs2 ;
Modified:
jena/trunk/jena-text/src/test/java/org/apache/jena/query/text/AbstractTestDatasetWithGraphTextIndex.java
URL:
http://svn.apache.org/viewvc/jena/trunk/jena-text/src/test/java/org/apache/jena/query/text/AbstractTestDatasetWithGraphTextIndex.java?rev=1549561&r1=1549560&r2=1549561&view=diff
==============================================================================
---
jena/trunk/jena-text/src/test/java/org/apache/jena/query/text/AbstractTestDatasetWithGraphTextIndex.java
(original)
+++
jena/trunk/jena-text/src/test/java/org/apache/jena/query/text/AbstractTestDatasetWithGraphTextIndex.java
Mon Dec 9 12:18:28 2013
@@ -27,7 +27,6 @@ import java.util.Set ;
import org.apache.jena.atlas.lib.StrUtils ;
import org.apache.jena.riot.Lang ;
import org.apache.jena.riot.RDFDataMgr ;
-import org.junit.Ignore ;
import org.junit.Test ;
import com.hp.hpl.jena.query.ReadWrite ;
@@ -46,7 +45,6 @@ public class AbstractTestDatasetWithGrap
dataset.commit() ;
}
- @Ignore
@Test
public void testOneSimpleResultInGraph() {
final String turtle = StrUtils.strjoinNL(
@@ -158,7 +156,6 @@ public class AbstractTestDatasetWithGrap
doTestQuery(dataset, "", queryString, expectedURIs,
expectedURIs.size()) ;
}
- @Ignore
@Test
public void testBnodeIdentifiedGraph() {
final String trig = StrUtils.strjoinNL(