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/17 22:55:22 UTC
[08/15] jena git commit: fix head conflict + adding tests
fix head conflict + adding tests
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/8e9babe7
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/8e9babe7
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/8e9babe7
Branch: refs/heads/master
Commit: 8e9babe75ccfa9024035bb19f8257ad0dbd5018e
Parents: c7d099d
Author: Alexis Miara <al...@hotmail.com>
Authored: Mon Jun 1 09:51:27 2015 -0400
Committer: Alexis Miara <al...@hotmail.com>
Committed: Mon Jun 1 09:51:27 2015 -0400
----------------------------------------------------------------------
.../jena/query/text/EntityDefinition.java | 9 ++
.../jena/query/text/TextDocProducerTriples.java | 24 +++-
.../org/apache/jena/query/text/TextIndex.java | 1 +
.../apache/jena/query/text/TextIndexLucene.java | 28 +++-
.../apache/jena/query/text/TextIndexSolr.java | 8 +-
.../assembler/EntityDefinitionAssembler.java | 5 +
.../jena/query/text/assembler/TextVocab.java | 1 +
.../AbstractTestDatasetWithTextIndexBase.java | 43 ++++++-
.../org/apache/jena/query/text/TS_Text.java | 1 +
...tDatasetWithLuceneMultilingualTextIndex.java | 2 +-
...DatasetWithLuceneTextIndexWithLangField.java | 2 +-
...tDatasetWithLuceneTextIndexWithUidField.java | 129 +++++++++++++++++++
12 files changed, 241 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/8e9babe7/jena-text/src/main/java/org/apache/jena/query/text/EntityDefinition.java
----------------------------------------------------------------------
diff --git a/jena-text/src/main/java/org/apache/jena/query/text/EntityDefinition.java b/jena-text/src/main/java/org/apache/jena/query/text/EntityDefinition.java
index 2a68247..69cca8c 100644
--- a/jena-text/src/main/java/org/apache/jena/query/text/EntityDefinition.java
+++ b/jena-text/src/main/java/org/apache/jena/query/text/EntityDefinition.java
@@ -43,6 +43,7 @@ public class EntityDefinition {
private final String primaryField ;
private String graphField = null ;
private String langField ;
+ private String uidField ;
/**
* @param entityField
@@ -171,6 +172,14 @@ public class EntityDefinition {
this.langField = langField;
}
+ public String getUidField() {
+ return uidField;
+ }
+
+ public void setUidField(String uidField) {
+ this.uidField = uidField;
+ }
+
public Collection<String> fields() {
return fields ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/8e9babe7/jena-text/src/main/java/org/apache/jena/query/text/TextDocProducerTriples.java
----------------------------------------------------------------------
diff --git a/jena-text/src/main/java/org/apache/jena/query/text/TextDocProducerTriples.java b/jena-text/src/main/java/org/apache/jena/query/text/TextDocProducerTriples.java
index c0bcabd..51f5480 100644
--- a/jena-text/src/main/java/org/apache/jena/query/text/TextDocProducerTriples.java
+++ b/jena-text/src/main/java/org/apache/jena/query/text/TextDocProducerTriples.java
@@ -56,17 +56,29 @@ public class TextDocProducerTriples implements TextDocProducer {
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 &&
+ qaction != QuadAction.DELETE )
return ;
+
Entity entity = TextQueryFuncs.entityFromQuad(defn, g, s, p, o) ;
// Null means does not match defn
if ( entity != null ) {
- indexer.addEntity(entity) ;
-
- // Auto commit the entity if we aren't in a transaction
- if (!inTransaction.get()) {
- indexer.commit() ;
+ if (qaction == QuadAction.ADD) {
+ indexer.addEntity(entity);
+
+ // Auto commit the entity if we aren't in a transaction
+ if (!inTransaction.get()) {
+ indexer.commit();
+ }
+ }
+ else if (qaction == QuadAction.DELETE) {
+ indexer.deleteEntity(entity);
+
+ // Auto commit the entity if we aren't in a transaction
+ if (!inTransaction.get()) {
+ indexer.commit();
+ }
}
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/8e9babe7/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 fe19b7b..bb67cfd 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
@@ -36,6 +36,7 @@ public interface TextIndex extends Closeable //, Transactional
// Update operations
void addEntity(Entity entity) ;
void updateEntity(Entity entity) ;
+ void deleteEntity(Entity entity) ;
// read operations
http://git-wip-us.apache.org/repos/asf/jena/blob/8e9babe7/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 9c14c27..36d9e86 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
@@ -22,6 +22,7 @@ import java.io.IOException ;
import java.util.* ;
import java.util.Map.Entry ;
+import org.apache.commons.codec.digest.DigestUtils;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.NodeFactory ;
import org.apache.jena.sparql.util.NodeFactoryExtra ;
@@ -211,6 +212,26 @@ public class TextIndexLucene implements TextIndex {
indexWriter.addDocument(doc) ;
}
+ @Override
+ public void deleteEntity(Entity entity) {
+ if (docDef.getUidField() == null)
+ return;
+
+ if ( log.isDebugEnabled() )
+ log.debug("Delete entity: "+entity) ;
+ try {
+ Map<String, Object> map = entity.getMap();
+ String property = map.keySet().iterator().next();
+ String value = (String)map.get(property);
+ String key = entity.getGraph() + "-" + entity.getId() + "-" + property + "-" + value + "-" + entity.getLanguage();
+ Term uid = new Term(docDef.getUidField(), DigestUtils.sha256Hex(key));
+ indexWriter.deleteDocuments(uid);
+
+ } catch (Exception e) {
+ throw new TextIndexException(e) ;
+ }
+ }
+
protected Document doc(Entity entity) {
Document doc = new Document() ;
Field entField = new Field(docDef.getEntityField(), entity.getId(), ftIRI) ;
@@ -223,13 +244,18 @@ public class TextIndexLucene implements TextIndex {
}
String langField = docDef.getLangField() ;
+ String uidField = docDef.getUidField() ;
for ( Entry<String, Object> e : entity.getMap().entrySet() ) {
doc.add( new Field(e.getKey(), (String) e.getValue(), ftText) );
if (langField != null) {
String lang = entity.getLanguage();
if (lang != null && !"".equals(lang))
- doc.add(new Field(docDef.getLangField(), lang, StringField.TYPE_STORED));
+ doc.add(new Field(langField, lang, StringField.TYPE_STORED));
+ }
+ if (uidField != null) {
+ String key = entity.getGraph() + "-" + entity.getId() + "-" + e.getKey() + "-" + e.getValue() + "-" + entity.getLanguage();
+ doc.add(new Field(uidField, DigestUtils.sha256Hex(key), StringField.TYPE_STORED));
}
}
return doc ;
http://git-wip-us.apache.org/repos/asf/jena/blob/8e9babe7/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 718d4c7..de011bf 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
@@ -104,7 +104,13 @@ public class TextIndexSolr implements TextIndex
}
}
- private SolrInputDocument solrDoc(Entity entity) {
+ @Override
+ public void deleteEntity(Entity entity) {
+ //to be implemented
+ }
+
+ private SolrInputDocument solrDoc(Entity entity)
+ {
SolrInputDocument doc = new SolrInputDocument() ;
doc.addField(docDef.getEntityField(), entity.getId()) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/8e9babe7/jena-text/src/main/java/org/apache/jena/query/text/assembler/EntityDefinitionAssembler.java
----------------------------------------------------------------------
diff --git a/jena-text/src/main/java/org/apache/jena/query/text/assembler/EntityDefinitionAssembler.java b/jena-text/src/main/java/org/apache/jena/query/text/assembler/EntityDefinitionAssembler.java
index 5d9f97c..48bd94d 100644
--- a/jena-text/src/main/java/org/apache/jena/query/text/assembler/EntityDefinitionAssembler.java
+++ b/jena-text/src/main/java/org/apache/jena/query/text/assembler/EntityDefinitionAssembler.java
@@ -69,6 +69,9 @@ public class EntityDefinitionAssembler extends AssemblerBase implements Assemble
" OPTIONAL {" ,
" ?eMap :langField ?langField" ,
" }",
+ " OPTIONAL {" ,
+ " ?eMap :uidField ?uidField" ,
+ " }",
"}") ;
ParameterizedSparqlString pss = new ParameterizedSparqlString(qs1) ;
pss.setIri("eMap", root.getURI()) ;
@@ -92,6 +95,7 @@ public class EntityDefinitionAssembler extends AssemblerBase implements Assemble
String graphField = qsol1.contains("graphField") ? qsol1.getLiteral("graphField").getLexicalForm() : null;
String langField = qsol1.contains("langField") ? qsol1.getLiteral("langField").getLexicalForm() : null;
String defaultField = qsol1.contains("dftField") ? qsol1.getLiteral("dftField").getLexicalForm() : null ;
+ String uniqueIdField = qsol1.contains("uidField") ? qsol1.getLiteral("uidField").getLexicalForm() : null;
Multimap<String, Node> mapDefs = HashMultimap.create() ;
Map<String, Analyzer> analyzerDefs = new HashMap<>();
@@ -162,6 +166,7 @@ public class EntityDefinitionAssembler extends AssemblerBase implements Assemble
EntityDefinition docDef = new EntityDefinition(entityField, defaultField);
docDef.setGraphField(graphField);
docDef.setLangField(langField);
+ docDef.setUidField(uniqueIdField);
for ( String f : mapDefs.keys() ) {
for ( Node p : mapDefs.get(f))
docDef.set(f, p) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/8e9babe7/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextVocab.java
----------------------------------------------------------------------
diff --git a/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextVocab.java b/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextVocab.java
index 802990d..743d773 100644
--- a/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextVocab.java
+++ b/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextVocab.java
@@ -49,6 +49,7 @@ public class TextVocab
public static final Property pDefaultField = Vocab.property(NS, "defaultField") ;
public static final Property pGraphField = Vocab.property(NS, "graphField") ;
public static final Property pLangField = Vocab.property(NS, "langField") ;
+ public static final Property pUidField = Vocab.property(NS, "uidField") ;
public static final Property pMap = Vocab.property(NS, "map") ;
public static final Property pField = Vocab.property(NS, "field") ;
public static final Property pPredicate = Vocab.property(NS, "predicate") ;
http://git-wip-us.apache.org/repos/asf/jena/blob/8e9babe7/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..94f947c 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
@@ -19,6 +19,7 @@
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 java.io.Reader;
@@ -28,6 +29,10 @@ import java.util.Set;
import org.apache.jena.atlas.lib.StrUtils;
import org.apache.jena.query.* ;
import org.apache.jena.rdf.model.Model ;
+import org.apache.jena.update.UpdateExecutionFactory;
+import org.apache.jena.update.UpdateFactory;
+import org.apache.jena.update.UpdateProcessor;
+import org.apache.jena.update.UpdateRequest;
/*
* This abstract class defines a collection of test methods for testing
@@ -60,12 +65,25 @@ public abstract class AbstractTestDatasetWithTextIndexBase {
}
protected void doTestSearch(String label, String turtle, String queryString, Set<String> expectedEntityURIs, int expectedNumResults) {
+ loadData(turtle);
+ doTestQuery(dataset, label, queryString, expectedEntityURIs, expectedNumResults);
+ }
+
+ 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) {
@@ -73,7 +91,7 @@ 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 +104,25 @@ public abstract class AbstractTestDatasetWithTextIndexBase {
dataset.end() ;
}
}
+
+ 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();
+ }
+
}
http://git-wip-us.apache.org/repos/asf/jena/blob/8e9babe7/jena-text/src/test/java/org/apache/jena/query/text/TS_Text.java
----------------------------------------------------------------------
diff --git a/jena-text/src/test/java/org/apache/jena/query/text/TS_Text.java b/jena-text/src/test/java/org/apache/jena/query/text/TS_Text.java
index 6d1cb25..471b129 100644
--- a/jena-text/src/test/java/org/apache/jena/query/text/TS_Text.java
+++ b/jena-text/src/test/java/org/apache/jena/query/text/TS_Text.java
@@ -32,6 +32,7 @@ import org.junit.runners.Suite.SuiteClasses ;
, TestDatasetWithLuceneTextIndex.class
, TestDatasetWithLuceneMultilingualTextIndex.class
, TestDatasetWithLuceneTextIndexWithLangField.class
+ , TestDatasetWithLuceneTextIndexWithUidField.class
, TestDatasetWithLuceneGraphTextIndex.class
// Embedded solr not supported
http://git-wip-us.apache.org/repos/asf/jena/blob/8e9babe7/jena-text/src/test/java/org/apache/jena/query/text/TestDatasetWithLuceneMultilingualTextIndex.java
----------------------------------------------------------------------
diff --git a/jena-text/src/test/java/org/apache/jena/query/text/TestDatasetWithLuceneMultilingualTextIndex.java b/jena-text/src/test/java/org/apache/jena/query/text/TestDatasetWithLuceneMultilingualTextIndex.java
index 53e2426..18acda8 100644
--- a/jena-text/src/test/java/org/apache/jena/query/text/TestDatasetWithLuceneMultilingualTextIndex.java
+++ b/jena-text/src/test/java/org/apache/jena/query/text/TestDatasetWithLuceneMultilingualTextIndex.java
@@ -37,7 +37,7 @@ import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
-public class TestDatasetWithLuceneMultilingualTextIndex extends AbstractTestDatasetWithTextIndex {
+public class TestDatasetWithLuceneMultilingualTextIndex extends AbstractTestDatasetWithTextIndexBase {
private static final String SPEC_BASE = "http://example.org/spec#";
private static final String SPEC_ROOT_LOCAL = "lucene_text_dataset";
http://git-wip-us.apache.org/repos/asf/jena/blob/8e9babe7/jena-text/src/test/java/org/apache/jena/query/text/TestDatasetWithLuceneTextIndexWithLangField.java
----------------------------------------------------------------------
diff --git a/jena-text/src/test/java/org/apache/jena/query/text/TestDatasetWithLuceneTextIndexWithLangField.java b/jena-text/src/test/java/org/apache/jena/query/text/TestDatasetWithLuceneTextIndexWithLangField.java
index 9d99a29..f1e7e08 100644
--- a/jena-text/src/test/java/org/apache/jena/query/text/TestDatasetWithLuceneTextIndexWithLangField.java
+++ b/jena-text/src/test/java/org/apache/jena/query/text/TestDatasetWithLuceneTextIndexWithLangField.java
@@ -35,7 +35,7 @@ import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
-public class TestDatasetWithLuceneTextIndexWithLangField extends AbstractTestDatasetWithTextIndex {
+public class TestDatasetWithLuceneTextIndexWithLangField extends AbstractTestDatasetWithTextIndexBase {
private static final String SPEC_BASE = "http://example.org/spec#";
private static final String SPEC_ROOT_LOCAL = "lucene_text_dataset";
http://git-wip-us.apache.org/repos/asf/jena/blob/8e9babe7/jena-text/src/test/java/org/apache/jena/query/text/TestDatasetWithLuceneTextIndexWithUidField.java
----------------------------------------------------------------------
diff --git a/jena-text/src/test/java/org/apache/jena/query/text/TestDatasetWithLuceneTextIndexWithUidField.java b/jena-text/src/test/java/org/apache/jena/query/text/TestDatasetWithLuceneTextIndexWithUidField.java
new file mode 100644
index 0000000..9431449
--- /dev/null
+++ b/jena-text/src/test/java/org/apache/jena/query/text/TestDatasetWithLuceneTextIndexWithUidField.java
@@ -0,0 +1,129 @@
+/**
+ * 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.assembler.Assembler;
+import org.apache.jena.atlas.lib.StrUtils;
+import org.apache.jena.query.Dataset;
+import org.apache.jena.query.text.assembler.TextAssembler;
+import org.apache.jena.rdf.model.Model;
+import org.apache.jena.rdf.model.ModelFactory;
+import org.apache.jena.rdf.model.Resource;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.io.Reader;
+import java.io.StringReader;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+public class TestDatasetWithLuceneTextIndexWithUidField extends AbstractTestDatasetWithTextIndexBase {
+
+ private static final String SPEC_BASE = "http://example.org/spec#";
+ private static final String SPEC_ROOT_LOCAL = "lucene_text_dataset";
+ private static final String SPEC_ROOT_URI = SPEC_BASE + SPEC_ROOT_LOCAL;
+ private static final String SPEC;
+ static {
+ SPEC = StrUtils.strjoinNL(
+ "prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> ",
+ "prefix ja: <http://jena.hpl.hp.com/2005/11/Assembler#> ",
+ "prefix tdb: <http://jena.hpl.hp.com/2008/tdb#>",
+ "prefix text: <http://jena.apache.org/text#>",
+ "prefix : <" + SPEC_BASE + ">",
+ "",
+ "[] ja:loadClass \"org.apache.jena.query.text.TextQuery\" .",
+ "text:TextDataset rdfs:subClassOf ja:RDFDataset .",
+ "text:TextIndexLucene rdfs:subClassOf text:TextIndex .",
+
+ ":" + SPEC_ROOT_LOCAL,
+ " a text:TextDataset ;",
+ " text:dataset :dataset ;",
+ " text:index :indexLucene ;",
+ " .",
+ "",
+ ":dataset",
+ " a ja:RDFDataset ;",
+ " ja:defaultGraph :graph ;",
+ ".",
+ ":graph",
+ " a ja:MemoryModel ;",
+ ".",
+ "",
+ ":indexLucene",
+ " a text:TextIndexLucene ;",
+ " text:directory \"mem\" ;",
+ " text:entityMap :entMap ;",
+ " .",
+ "",
+ ":entMap",
+ " a text:EntityMap ;",
+ " text:entityField \"uri\" ;",
+ " text:defaultField \"label\" ;",
+ " text:uidField \"uuid\" ;",
+ " text:map (",
+ " [ text:field \"label\" ; text:predicate rdfs:label ]",
+ " [ text:field \"comment\" ; text:predicate rdfs:comment ]",
+ " ) ."
+ );
+ }
+
+ @Before
+ public void before() {
+ Reader reader = new StringReader(SPEC);
+ Model specModel = ModelFactory.createDefaultModel();
+ specModel.read(reader, "", "TURTLE");
+ TextAssembler.init();
+ Resource root = specModel.getResource(SPEC_ROOT_URI);
+ dataset = (Dataset) Assembler.general.open(root);
+ }
+
+ @After
+ public void after() {
+ dataset.close();
+ }
+
+ @Test
+ public void testDeleteTriple(){
+ final String turtle = StrUtils.strjoinNL(
+ TURTLE_PROLOG,
+ "<" + RESOURCE_BASE + "myResource>",
+ " rdfs:label 'My first resource'",
+ "."
+ );
+ loadData(turtle);
+ String updateString = StrUtils.strjoinNL(
+ QUERY_PROLOG,
+ "DELETE DATA { ",
+ " <" + RESOURCE_BASE + "myResource> rdfs:label 'My first resource'",
+ "}"
+ );
+ doUpdate(updateString);
+
+ String queryString = StrUtils.strjoinNL(
+ QUERY_PROLOG,
+ "SELECT ?s",
+ "WHERE {",
+ " ?s text:query ( rdfs:label 'first' ) .",
+ "}"
+ );
+ doTestNoResult(dataset, "", queryString);
+ }
+}