@Override public CloseableIterator<STMT> findStatements(ID subject, UID predicate, NODE object, UID context, boolean includeInferred) { if (logger.isDebugEnabled()) { logger.debug("find " + subject + " " + predicate + " " + object + " " + context); } return repository.findStatements(subject, predicate, object, context, includeInferred); }
public boolean exists(@Nullable ID subject, @Nullable UID predicate, @Nullable NODE object, @Nullable UID context) { return findStatements(subject, predicate, object, context, false).hasNext(); }
private boolean exists(@Nullable ID subject, @Nullable UID predicate, @Nullable NODE object, @Nullable UID context) { CloseableIterator<STMT> stmts = repository.findStatements(subject, predicate, object, context, false); boolean rv = stmts.hasNext(); stmts.close(); return rv; } }
@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()); }
@Test public void MultiProperties() { MiniRepository repository = new MiniRepository(); Session session = SessionUtil.openSession(repository, MultiPropertyTest.class); MultiPropertyTest test = new MultiPropertyTest(); test.names.add("Tom"); test.names.add("Jane"); test.namesList.add("Tom"); test.namesList.add("Jane"); test.namesArray = new String[] { "Tom", "Jane" }; session.save(test); session.clear(); List<STMT> stmts = IteratorAdapter.asList(repository.findStatements(null, NAME, null, null, false)); assertEquals(2, stmts.size()); stmts = IteratorAdapter.asList(repository.findStatements(null, NAME2, null, null, false)); assertEquals(2, stmts.size()); stmts = IteratorAdapter.asList(repository.findStatements(null, NAME3, null, null, false)); assertEquals(2, stmts.size()); MultiPropertyTest test2 = session.get(MultiPropertyTest.class, test.id); assertEquals(test.names, test2.names); // ordering is not preseved assertEquals(Sets.newHashSet(test.namesList), Sets.newHashSet(test2.namesList)); // ordering is not preseved assertEquals(Sets.newHashSet(test.namesArray), Sets.newHashSet(test2.namesArray)); }
@Test public void UpdateManagers() { newSession(); Company company = getCompany(); // Add new Big Boss and John Doe as managers Employee boss = new Employee("Big Boss", 55, company); company.managers.add(boss); company.managers.add(getEmployee()); session.save(company); newSession(); company = getCompany(); assertEquals(2, company.managers.size()); assertEquals("Big Boss", company.managers.get(0).name); int rsize = IteratorAdapter.asList(repository.findStatements(null, null, null, null, false)).size(); // Promote John Doe in manager list boss = company.managers.get(0); boss.name = "Ex-Boss"; company.managers.set(0, company.managers.get(1)); company.managers.set(1, boss); session.save(company); newSession(); company = getCompany(); assertEquals(2, company.managers.size()); assertEquals("John Doe", company.managers.get(0).name); assertEquals("Ex-Boss", company.managers.get(1).name); // See that there's no garbage left... assertEquals(rsize, IteratorAdapter.asList(repository.findStatements(null, null, null, null, false)).size()); }
@Test public void Container() { MiniRepository repository = new MiniRepository(); Session session = SessionUtil.openSession(repository, ContainerTest.class); names.add("Eka"); names.add(null); names.add("Toka"); session.save(this); CloseableIterator<STMT> iter = repository.findStatements(null, RDF.type, RDF.Seq, null, false); assertTrue(iter.hasNext()); iter.next(); assertFalse(iter.hasNext()); iter = repository.findStatements(null, RDF.getContainerMembershipProperty(1), null, null, false); assertTrue(iter.hasNext()); iter.next(); assertFalse(iter.hasNext()); session = SessionUtil.openSession(repository, ContainerTest.class); ContainerTest test = session.findInstances(ContainerTest.class).get(0); assertEquals("Eka", test.names.get(0)); assertNull(test.names.get(1)); assertEquals("Toka", test.names.get(2)); }
STMT siblingStmt = repository.findStatements(entity.id, sibling, null, null, false).next(); STMT parentStmt = repository.findStatements(entity.id, parent, null, null, false).next(); assertNull(siblingStmt.getContext()); assertEquals(testContext, parentStmt.getContext());
@Test public void VirtualProperties() { MiniRepository repository = new MiniRepository(); Session session = SessionUtil.openSession(repository, Party.class, Person.class); // Persistence session.save(new Person("John", "Doe")); List<STMT> statements = IteratorAdapter.asList(repository .findStatements(null, new UID(TEST.NS, "displayName"), null, null, false)); assertEquals(1, statements.size()); STMT stmt = statements.get(0); assertEquals("John Doe", stmt.getObject().getValue()); // Retrieval session = SessionUtil.openSession(repository, Party.class, Person.class); Person person = session.findInstances(Person.class).get(0); assertEquals("John Doe", person.getDisplayName()); }
@Test public void test() throws IOException { Configuration configuration = new DefaultConfiguration(User.class, Project.class, Gender.class, Various.class); MiniRepository repository = new MiniRepository(); SchemaGen schemaGen = new SchemaGen(); schemaGen.addExportNamespace(TEST.NS); schemaGen.setConfiguration(configuration); schemaGen.setRepository(repository); schemaGen.export(); CloseableIterator<STMT> stmts = repository.findStatements(null, CORE.enumOrdinal, null, null, false); try { System.out.println(stmts.next()); System.out.println(stmts.next()); assertFalse(stmts.hasNext()); } finally { stmts.close(); } Session session = SessionUtil.openSession(repository, OWLClass.class.getPackage(), RDFSClass.class.getPackage()); session.findInstances(RDFSClass.class); }
@Test public void Persistence() { MiniRepository repository = new MiniRepository(); Session session = SessionUtil.openSession(repository, Entity.class); Entity entity = new Entity(); entity.name = "John Doe"; session.save(entity); session.flush(); assertFalse(repository.findStatements(null, CORE.localId, null, null, false).hasNext()); } }