Skip to content

Commit d93bdb3

Browse files
committed
elasticsearch and lmdblit update
1 parent 4f69381 commit d93bdb3

File tree

4 files changed

+62
-4
lines changed

4 files changed

+62
-4
lines changed

compliance/elasticsearch/src/test/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchSailTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,11 @@ public void testTriplesStored() {
7878
delegateTest.testTriplesStored();
7979
}
8080

81+
// @Test
82+
// public void testDLS() {
83+
// delegateTest.testDirLangString();
84+
// }
85+
8186
@Test
8287
public void testRegularQuery() throws RepositoryException, MalformedQueryException, QueryEvaluationException {
8388
delegateTest.testRegularQuery();

core/sail/elasticsearch-store/src/main/java/org/eclipse/rdf4j/sail/elasticsearchstore/ElasticsearchDataStructure.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,8 @@ private QueryBuilder getQueryBuilder(Resource subject, IRI predicate, Value obje
243243
if (((Literal) object).getLanguage().isPresent()) {
244244
boolQueryBuilder
245245
.must(QueryBuilders.termQuery("object_Lang", ((Literal) object).getLanguage().get()));
246+
boolQueryBuilder
247+
.must(QueryBuilders.termQuery("object_LangDir", ((Literal) object).getBaseDirection()));
246248
}
247249
}
248250
}
@@ -450,7 +452,7 @@ private Map<String, Object> statementToJsonMap(ExtensibleStatement statement) {
450452
((Literal) statement.getObject()).getDatatype().stringValue());
451453
if (((Literal) statement.getObject()).getLanguage().isPresent()) {
452454
jsonMap.put("object_Lang", ((Literal) statement.getObject()).getLanguage().get());
453-
455+
jsonMap.put("object_LangDir", ((Literal) statement.getObject()).getBaseDirection());
454456
}
455457
}
456458
return jsonMap;
@@ -673,8 +675,8 @@ private static ExtensibleStatement sourceToStatement(Map<String, Object> sourceA
673675
objectRes = vf.createBNode(objectString);
674676
} else {
675677
if (sourceAsMap.containsKey("object_Lang")) {
676-
objectRes = vf.createLiteral(objectString, (String) sourceAsMap.get("object_Lang"));
677-
678+
objectRes = vf.createLiteral(objectString, (String) sourceAsMap.get("object_Lang"),
679+
Literal.BaseDirection.fromString((String) sourceAsMap.get("object_LangDir")));
678680
} else {
679681
objectRes = vf.createLiteral(objectString,
680682
vf.createIRI((String) sourceAsMap.get("object_Datatype")));

core/sail/lmdb/src/main/java/org/eclipse/rdf4j/sail/lmdb/model/LmdbLiteral.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ public LmdbLiteral(ValueStoreRevision revision, String label, String language, B
9898
} else {
9999
setDatatype(CoreDatatype.RDF.LANGSTRING);
100100
}
101-
setInternalID(UNKNOWN_ID, revision);
101+
setInternalID(internalID, revision);
102102
this.initialized = true;
103103
}
104104

testsuites/lucene/src/main/java/org/eclipse/testsuite/rdf4j/sail/lucene/AbstractLuceneSailTest.java

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import java.util.concurrent.TimeUnit;
3838
import java.util.function.Consumer;
3939

40+
import org.eclipse.rdf4j.common.iteration.CloseableIteration;
4041
import org.eclipse.rdf4j.model.IRI;
4142
import org.eclipse.rdf4j.model.Literal;
4243
import org.eclipse.rdf4j.model.Resource;
@@ -52,11 +53,15 @@
5253
import org.eclipse.rdf4j.query.QueryLanguage;
5354
import org.eclipse.rdf4j.query.TupleQuery;
5455
import org.eclipse.rdf4j.query.TupleQueryResult;
56+
import org.eclipse.rdf4j.query.impl.EmptyBindingSet;
57+
import org.eclipse.rdf4j.query.parser.ParsedTupleQuery;
58+
import org.eclipse.rdf4j.query.parser.QueryParserUtil;
5559
import org.eclipse.rdf4j.repository.Repository;
5660
import org.eclipse.rdf4j.repository.RepositoryConnection;
5761
import org.eclipse.rdf4j.repository.RepositoryException;
5862
import org.eclipse.rdf4j.repository.sail.SailRepository;
5963
import org.eclipse.rdf4j.repository.util.Repositories;
64+
import org.eclipse.rdf4j.sail.SailConnection;
6065
import org.eclipse.rdf4j.sail.lucene.LuceneSail;
6166
import org.eclipse.rdf4j.sail.lucene.LuceneSailSchema;
6267
import org.eclipse.rdf4j.sail.memory.MemoryStore;
@@ -180,6 +185,52 @@ public void testTriplesStored() {
180185
}
181186
}
182187

188+
// @Test
189+
// public void testDirLangString() {
190+
// try (final SailConnection con = sail.getConnection()) {
191+
// con.begin();
192+
//
193+
// IRI subj = vf.createIRI("http://s");
194+
//
195+
// IRI pred = vf.createIRI("http://p");
196+
// Literal obj = vf.createLiteral("o", "en", Literal.BaseDirection.LTR);
197+
// con.addStatement(subj, pred, obj);
198+
//
199+
// con.commit();
200+
//
201+
// try (final CloseableIteration<? extends Statement> stIter = con.getStatements(null, null, null,
202+
// false)) {
203+
// assertTrue(stIter.hasNext());
204+
//
205+
// Statement st = stIter.next();
206+
// assertEquals(subj, st.getSubject());
207+
// assertEquals(pred, st.getPredicate());
208+
// assertEquals(obj, st.getObject());
209+
// assertFalse(stIter.hasNext());
210+
// }
211+
//
212+
// ParsedTupleQuery tupleQuery = QueryParserUtil.parseTupleQuery(QueryLanguage.SPARQL,
213+
// "SELECT * WHERE { ?S ?P ?O. FILTER(?P = <" + pred.stringValue() + ">)}", null);
214+
//
215+
// CloseableIteration<? extends BindingSet> iter;
216+
// iter = con.evaluate(tupleQuery.getTupleExpr(), null, EmptyBindingSet.getInstance(), false);
217+
//
218+
// try {
219+
// assertTrue(iter.hasNext());
220+
//
221+
// BindingSet bindings = iter.next();
222+
// assertEquals(subj, bindings.getValue("S"));
223+
// assertEquals(pred, bindings.getValue("P"));
224+
// assertEquals(obj, bindings.getValue("O"));
225+
// assertTrue(!iter.hasNext());
226+
// } finally {
227+
// iter.close();
228+
// }
229+
// }
230+
//// assertTrue(connection.hasStatement(vf.createIRI("http://s"), vf.createIRI("http://p"), vf.createLiteral("o", "en", Literal.BaseDirection.LTR), false));
231+
//
232+
// }
233+
183234
@Test
184235
public void testRegularQuery() throws RepositoryException, MalformedQueryException, QueryEvaluationException {
185236
try (RepositoryConnection connection = repository.getConnection()) {

0 commit comments

Comments
 (0)