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}.