You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by rw...@apache.org on 2013/11/04 09:28:47 UTC
svn commit: r1538524 - in
/stanbol/branches/release-0.12/entityhub/yard/sesame/src:
main/java/org/apache/stanbol/entityhub/yard/sesame/SesameYard.java
test/java/org/apache/stanbol/entityhub/yard/sesame/SesameYardTest.java
Author: rwesten
Date: Mon Nov 4 08:28:47 2013
New Revision: 1538524
URL: http://svn.apache.org/r1538524
Log:
STANBOL-1198: merged fix to the 0.12.0 release branch
Modified:
stanbol/branches/release-0.12/entityhub/yard/sesame/src/main/java/org/apache/stanbol/entityhub/yard/sesame/SesameYard.java
stanbol/branches/release-0.12/entityhub/yard/sesame/src/test/java/org/apache/stanbol/entityhub/yard/sesame/SesameYardTest.java
Modified: stanbol/branches/release-0.12/entityhub/yard/sesame/src/main/java/org/apache/stanbol/entityhub/yard/sesame/SesameYard.java
URL: http://svn.apache.org/viewvc/stanbol/branches/release-0.12/entityhub/yard/sesame/src/main/java/org/apache/stanbol/entityhub/yard/sesame/SesameYard.java?rev=1538524&r1=1538523&r2=1538524&view=diff
==============================================================================
--- stanbol/branches/release-0.12/entityhub/yard/sesame/src/main/java/org/apache/stanbol/entityhub/yard/sesame/SesameYard.java (original)
+++ stanbol/branches/release-0.12/entityhub/yard/sesame/src/main/java/org/apache/stanbol/entityhub/yard/sesame/SesameYard.java Mon Nov 4 08:28:47 2013
@@ -318,7 +318,7 @@ public class SesameYard extends Abstract
statement = outgoing.next();
model.add(statement);
Value object = statement.getObject();
- if(object instanceof BNode && visited.contains(object)){
+ if(object instanceof BNode && !visited.contains(object)){
bnodes.add((BNode)object);
}
}
Modified: stanbol/branches/release-0.12/entityhub/yard/sesame/src/test/java/org/apache/stanbol/entityhub/yard/sesame/SesameYardTest.java
URL: http://svn.apache.org/viewvc/stanbol/branches/release-0.12/entityhub/yard/sesame/src/test/java/org/apache/stanbol/entityhub/yard/sesame/SesameYardTest.java?rev=1538524&r1=1538523&r2=1538524&view=diff
==============================================================================
--- stanbol/branches/release-0.12/entityhub/yard/sesame/src/test/java/org/apache/stanbol/entityhub/yard/sesame/SesameYardTest.java (original)
+++ stanbol/branches/release-0.12/entityhub/yard/sesame/src/test/java/org/apache/stanbol/entityhub/yard/sesame/SesameYardTest.java Mon Nov 4 08:28:47 2013
@@ -18,6 +18,7 @@ package org.apache.stanbol.entityhub.yar
import org.junit.Assert;
+import org.apache.stanbol.entityhub.model.sesame.RdfRepresentation;
import org.apache.stanbol.entityhub.servicesapi.defaults.NamespaceEnum;
import org.apache.stanbol.entityhub.servicesapi.model.Reference;
import org.apache.stanbol.entityhub.servicesapi.model.Representation;
@@ -31,6 +32,10 @@ import org.apache.stanbol.entityhub.yard
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
+import org.openrdf.model.BNode;
+import org.openrdf.model.Model;
+import org.openrdf.model.URI;
+import org.openrdf.repository.RepositoryConnection;
import org.openrdf.repository.RepositoryException;
import org.openrdf.repository.sail.SailRepository;
import org.openrdf.sail.memory.MemoryStore;
@@ -79,6 +84,35 @@ public class SesameYardTest extends Yard
*/
test.add(NamespaceEnum.rdf+"type", representationType);
}
+
+ @Test
+ public void testBNodeSupport() throws YardException, RepositoryException {
+ RepositoryConnection con = repo.getConnection();
+ org.openrdf.model.ValueFactory sesameFactory = con.getValueFactory();
+ URI subject = sesameFactory.createURI("urn:test.sesameyard:bnodesupport.subject");
+ URI property = sesameFactory.createURI("urn:test.sesameyard:bnodesupport.property");
+ URI value = sesameFactory.createURI("urn:test.sesameyard:bnodesupport.value");
+ URI property2 = sesameFactory.createURI("urn:test.sesameyard:bnodesupport.property2");
+ URI loop1 = sesameFactory.createURI("urn:test.sesameyard:bnodesupport.loop1");
+ URI loop2 = sesameFactory.createURI("urn:test.sesameyard:bnodesupport.loop2");
+ BNode bnode1 = sesameFactory.createBNode();
+ BNode bnode2 = sesameFactory.createBNode();
+ con.add(subject, property, bnode1);
+ con.add(bnode1, property2, value);
+ con.add(bnode1, loop1, bnode2);
+ con.add(bnode2, loop2, bnode1);
+ con.commit();
+ con.close();
+ Yard yard = getYard();
+ Representation rep = yard.getRepresentation(subject.stringValue());
+ Assert.assertTrue(rep instanceof RdfRepresentation);
+ Model model = ((RdfRepresentation)rep).getModel();
+ //Assert for the indirect statements to be present in the model
+ Assert.assertFalse(model.filter(null, property2, null).isEmpty());
+ Assert.assertFalse(model.filter(null, loop1, null).isEmpty());
+ Assert.assertFalse(model.filter(null, loop2, null).isEmpty());
+ }
+
/**
* This Method removes all Representations create via {@link #create()} or
* {@link #create(String, boolean)} from the tested {@link Yard}.