Skip to content

Package: GraphDBStorageConnection

GraphDBStorageConnection

nameinstructionbranchcomplexitylinemethod
GraphDBStorageConnection(StorageConnector, IsolationLevel)
M: 5 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
isInferred(Statement, Set)
M: 35 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 5 C: 0
0%
M: 1 C: 0
0%

Coverage

1: /*
2: * JOPA
3: * Copyright (C) 2023 Czech Technical University in Prague
4: *
5: * This library is free software; you can redistribute it and/or
6: * modify it under the terms of the GNU Lesser General Public
7: * License as published by the Free Software Foundation; either
8: * version 3.0 of the License, or (at your option) any later version.
9: *
10: * This library is distributed in the hope that it will be useful,
11: * but WITHOUT ANY WARRANTY; without even the implied warranty of
12: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13: * Lesser General Public License for more details.
14: *
15: * You should have received a copy of the GNU Lesser General Public
16: * License along with this library.
17: */
18: package cz.cvut.kbss.ontodriver.rdf4j.connector;
19:
20: import cz.cvut.kbss.ontodriver.rdf4j.exception.Rdf4jDriverException;
21: import org.eclipse.rdf4j.common.transaction.IsolationLevel;
22: import org.eclipse.rdf4j.model.IRI;
23: import org.eclipse.rdf4j.model.Statement;
24: import org.eclipse.rdf4j.repository.RepositoryConnection;
25: import org.eclipse.rdf4j.repository.RepositoryException;
26:
27: import java.util.Set;
28:
29: public class GraphDBStorageConnection extends StorageConnection {
30:
31: public GraphDBStorageConnection(StorageConnector storageConnector, IsolationLevel isolationLevel) {
32: super(storageConnector, isolationLevel);
33: }
34:
35: @Override
36: public boolean isInferred(Statement statement, Set<IRI> contexts) throws Rdf4jDriverException {
37: try (final RepositoryConnection conn = storageConnector.acquireConnection()) {
38: final IRI[] ctxArr = contexts.toArray(new IRI[0]);
39: // Inferred statements are in the implicit graph in GraphDB. This graph is not accessible via the RDF4J API
40:• return conn.hasStatement(statement, true) && !conn.hasStatement(statement, false, ctxArr);
41: } catch (RepositoryException e) {
42: throw new Rdf4jDriverException(e);
43: }
44: }
45: }