@Override public STMT createStatement(ID subject, UID predicate, NODE object) { return new STMT(subject, predicate, object, null, true); }
@Override public Bindings apply(STMT input) { bindings.clear(); bind(bindings, s, input.getSubject()); bind(bindings, p, input.getPredicate()); bind(bindings, o, input.getObject()); bind(bindings, c, input.getContext()); // System.err.println(bindings); return bindings; } };
public boolean remove(STMT stmt) { if (multi == null) { if (stmt.equals(single)) { single = null; return true; } else { return false; } } else { return multi.remove(stmt); } }
public STMT(STMT stmt, UID context) { this(stmt.getSubject(), stmt.getPredicate(), stmt.getObject(), context); }
private Set<NODE> findValues(UID predicate, Multimap<UID, STMT> properties, @Nullable UID context, boolean inv) { Set<NODE> nodes = new HashSet<NODE>(); if (properties.containsKey(predicate)) { for (STMT stmt : properties.get(predicate)) { if (context == null || context.equals(stmt.getContext())) { nodes.add(inv ? stmt.getSubject() : stmt.getObject()); } } } return nodes; }
for (STMT stmt : stmts) { i++; UID predicate = stmt.getPredicate(); if (RDF.NS.equals(predicate.ns())) { String ln = predicate.ln(); values.put(Integer.valueOf(index), stmt.getObject());
if (stmt.getPredicate().equals(CORE.localId)) { if (context != null && !context.equals(stmt.getContext())) { if (property.isIncludeMapped() || !mappedClass.isMappedPredicate(stmt.getPredicate())) { Class<?> componentType; if (property.isDynamicCollection()) { if (stmt.getObject().isResource()) { if (!ID.class.isAssignableFrom(componentType)) { List<STMT> typeStmts = findStatements(stmt.getObject().asResource(), RDF.type, null, null, false); boolean matched = false; for (STMT typeStmt : typeStmts) { for (MappedClass cl : configuration.getMappedClasses(typeStmt.getObject().asURI())) { if (componentType.isAssignableFrom(cl.getJavaClass())) { matched = true; if (dataType == null || !stmt.getObject().asLiteral().getDatatype().equals(dataType)) { continue; Object value = convertValue(stmt.getObject(), componentType); if (value != null) { if (property.isDynamicCollection()) { Collection<Object> collection = (Collection<Object>) values.get(stmt.getPredicate()); if (collection == null) { try { collection = property.getDynamicCollectionType().newInstance(); values.put(stmt.getPredicate(), collection); } catch (InstantiationException e) {
@Override public NODE getObject(STMT statement) { return statement.getObject(); }
public void removeStatements(Collection<STMT> stmts) { for (STMT stmt : stmts) { if (removeIndexed(stmt.getSubject(), stmt, subjects)) { if (objects != null && stmt.getObject().isResource()) { removeIndexed((ID) stmt.getObject(), stmt, objects); } } } }
@Override public UID getPredicate(STMT statement) { return statement.getPredicate(); }
@Override public ID getSubject(STMT statement) { return statement.getSubject(); }
@Test public void findStatements() { List<STMT> property1 = IteratorAdapter.asList(repository.findStatements(null, new UID(TEST.NS, "property1"), null, null, false)); assertEquals(1, property1.size()); assertNull(property1.get(0).getContext()); List<STMT> property2 = IteratorAdapter.asList(repository.findStatements(null, new UID(TEST.NS, "property2"), null, null, false)); assertEquals(1, property2.size()); assertEquals(new UID(TEST.NS), property2.get(0).getContext()); List<STMT> property3 = IteratorAdapter.asList(repository.findStatements(null, new UID(TEST.NS, "property3"), null, null, false)); assertEquals(1, property3.size()); assertNull(property3.get(0).getContext()); }
public static String toString(STMT stmt) { return toString(stmt.getSubject()) + " " + toString(stmt.getPredicate()) + " " + toString(stmt.getObject()) + " . "; }
private void removeListInternal(ID node, UID context) { for (STMT statement : findStatements(node, null, null, context, false)) { recordRemoveStatement(statement); NODE object = statement.getObject(); // Remove rdf:rest if (RDF.rest.equals(statement.getPredicate()) && object.isResource()) { removeListInternal((ID) object, context); } } }
private Set<NODE> filterObjects(List<STMT> statements) { Set<NODE> objects = new LinkedHashSet<NODE>(); for (STMT statement : statements) { objects.add(statement.getObject()); } return objects; }
public void add(STMT... stmts) { for (STMT stmt : stmts) { index(stmt.getSubject(), stmt, subjects); if (objects != null && stmt.getObject().isResource()) { index((ID) stmt.getObject(), stmt, objects); } } }
public boolean remove(STMT stmt) { if (RDF.isContainerMembershipProperty(stmt.getPredicate())) { if (containerProperties != null) { return containerProperties.remove(stmt); } } else { if (predicates != null) { STMTCache stmts = predicates.get(stmt.getPredicate()); if (stmts != null) { return stmts.remove(stmt); } } } return false; }
@SuppressWarnings("unchecked") private <T extends NODE> Set<T> filterSubject(List<STMT> statements) { Set<T> subjects = new LinkedHashSet<T>(); for (STMT statement : statements) { subjects.add((T) statement.getSubject()); } return subjects; }
assertNull(siblingStmt.getContext()); assertEquals(testContext, parentStmt.getContext());
public static boolean matches(STMT stmt, ID subject, UID predicate, NODE object, UID context, boolean includeInferred) { return // Subject match (subject == null || subject.equals(stmt.getSubject())) && // Predicate match (predicate == null || predicate.equals(stmt.getPredicate())) && // Object match (object == null || object.equals(stmt.getObject())) && // Context match (context == null || context.equals(stmt.getContext())) && // Asserted or includeInferred statement (includeInferred || stmt.isAsserted()); }