public void rename(Value oldName, Value newName) { if (newName == null) // if (oldName == null || newName == null) throw new NullPointerException(); Long id = toId(oldName); context.idToEntity.put(id, newName); context.entityToId.put(newName, id); Long newId = context.entityToId.get(newName); if (newId != null) for (Entry entry : store.iterate(LongField.SUBJECT, LongField.PREDICATE, LongField.OBJECT)) { Long newSubject = null, newPredicate = null, newObject = null; Long subject = entry.get(LongField.SUBJECT), predicate = entry.get(LongField.PREDICATE), object = entry.get(LongField.OBJECT); if (newId.equals(subject)) newSubject = id; if (newId.equals(predicate)) newPredicate = id; if (newId.equals(object)) newObject = id; if (newSubject != null || newPredicate != null || newObject != null) { store.remove( LongField.SUBJECT.value(subject), LongField.PREDICATE.value(predicate), LongField.OBJECT.value(object)); store.remove( LongField.PREDICATE.value(predicate), LongField.OBJECT.value(object), LongField.SUBJECT.value(subject)); store.put( LongField.SUBJECT.value(newSubject == null ? subject : newSubject), LongField.PREDICATE.value(newPredicate == null ? predicate : newPredicate), LongField.OBJECT.value(newObject == null ? object : newObject)); } } }
public void add(Iterator<Triple> statements) { while (statements.hasNext()) { Triple statement = statements.next(); store.put( LongField.SUBJECT.value(toId(statement.getSubject())), LongField.PREDICATE.value(toId(statement.getPredicate())), LongField.OBJECT.value(toId(statement.getObject()))); } }
public void add(Triple statement) { store.put( LongField.SUBJECT.value(toId(statement.getSubject())), LongField.PREDICATE.value(toId(statement.getPredicate())), LongField.OBJECT.value(toId(statement.getObject()))); }