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 2012/10/11 14:01:13 UTC

svn commit: r1397007 - in /stanbol/trunk/entityhub/indexing/source/jenatdb/src: main/java/org/apache/stanbol/entityhub/indexing/source/jenatdb/ test/java/org/apache/stanbol/entityhub/indexing/source/jenatdb/ test/resources/testConfigs/bnode/ test/resou...

Author: rwesten
Date: Thu Oct 11 12:01:12 2012
New Revision: 1397007

URL: http://svn.apache.org/viewvc?rev=1397007&view=rev
Log:
STANBOL-765: implementation of support for Bnodes of the Jena TDB indexing source

Added:
    stanbol/trunk/entityhub/indexing/source/jenatdb/src/test/resources/testConfigs/bnode/
    stanbol/trunk/entityhub/indexing/source/jenatdb/src/test/resources/testConfigs/bnode/indexing/
    stanbol/trunk/entityhub/indexing/source/jenatdb/src/test/resources/testConfigs/bnode/indexing/config/
    stanbol/trunk/entityhub/indexing/source/jenatdb/src/test/resources/testConfigs/bnode/indexing/config/indexFieldConfig.txt
    stanbol/trunk/entityhub/indexing/source/jenatdb/src/test/resources/testConfigs/bnode/indexing/config/indexing.properties
    stanbol/trunk/entityhub/indexing/source/jenatdb/src/test/resources/testConfigs/bnode/indexing/resources/
    stanbol/trunk/entityhub/indexing/source/jenatdb/src/test/resources/testConfigs/bnode/indexing/resources/rdfdata/
    stanbol/trunk/entityhub/indexing/source/jenatdb/src/test/resources/testConfigs/bnode/indexing/resources/rdfdata/bnode.nt
    stanbol/trunk/entityhub/indexing/source/jenatdb/src/test/resources/testConfigs/bnode/indexing/resources/rdfdata/france.rdf
    stanbol/trunk/entityhub/indexing/source/jenatdb/src/test/resources/testConfigs/bnode/indexing/resources/testEntityScore.txt
Modified:
    stanbol/trunk/entityhub/indexing/source/jenatdb/src/main/java/org/apache/stanbol/entityhub/indexing/source/jenatdb/RdfIndexingSource.java
    stanbol/trunk/entityhub/indexing/source/jenatdb/src/test/java/org/apache/stanbol/entityhub/indexing/source/jenatdb/RdfIndexingSourceTest.java

Modified: stanbol/trunk/entityhub/indexing/source/jenatdb/src/main/java/org/apache/stanbol/entityhub/indexing/source/jenatdb/RdfIndexingSource.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/entityhub/indexing/source/jenatdb/src/main/java/org/apache/stanbol/entityhub/indexing/source/jenatdb/RdfIndexingSource.java?rev=1397007&r1=1397006&r2=1397007&view=diff
==============================================================================
--- stanbol/trunk/entityhub/indexing/source/jenatdb/src/main/java/org/apache/stanbol/entityhub/indexing/source/jenatdb/RdfIndexingSource.java (original)
+++ stanbol/trunk/entityhub/indexing/source/jenatdb/src/main/java/org/apache/stanbol/entityhub/indexing/source/jenatdb/RdfIndexingSource.java Thu Oct 11 12:01:12 2012
@@ -21,6 +21,8 @@ import static org.apache.stanbol.entityh
 import static org.apache.stanbol.entityhub.indexing.source.jenatdb.Utils.initTDBDataset;
 
 import java.io.File;
+import java.net.URI;
+import java.net.URISyntaxException;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Iterator;
@@ -41,6 +43,7 @@ import org.apache.stanbol.entityhub.serv
 import org.apache.stanbol.entityhub.servicesapi.model.Representation;
 import org.apache.stanbol.entityhub.servicesapi.model.Text;
 import org.apache.stanbol.entityhub.servicesapi.model.ValueFactory;
+import org.apache.stanbol.entityhub.servicesapi.util.ModelUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -60,6 +63,7 @@ import com.hp.hpl.jena.query.QueryFactor
 import com.hp.hpl.jena.query.QuerySolution;
 import com.hp.hpl.jena.query.ResultSet;
 import com.hp.hpl.jena.query.Syntax;
+import com.hp.hpl.jena.rdf.model.AnonId;
 import com.hp.hpl.jena.rdf.model.RDFNode;
 import com.hp.hpl.jena.sparql.core.Var;
 import com.hp.hpl.jena.sparql.engine.binding.Binding;
@@ -86,6 +90,19 @@ public class RdfIndexingSource extends A
      */
     public static final String PARAM_SOURCE_FILE_OR_FOLDER = "source";
     /**
+     * Allows to enable/disable the indexing of Bnodes (see 
+     * <a href="https://issues.apache.org/jira/browse/STANBOL-765">STANBOL-765</a>
+     * for details).
+     */
+    private static final String PARAM_BNODE_STATE = "bnode";
+    /**
+     * If present, this Parameter allows to convert RDF BNodes to dereferable
+     * URIs by using {bnode-prefix}{bnode-id} (see 
+     * <a href="https://issues.apache.org/jira/browse/STANBOL-765">STANBOL-765</a>
+     * for details)
+     */
+    public static final String PARAM_BNODE_PREFIX = "bnode-prefix";
+    /**
      * The Parameter that can be used to deactivate the importing of sources.
      * If this parameter is set to <code>false</code> the values configured for
      * {@link #PARAM_IMPORT_SOURCE} are ignored. The default value is
@@ -112,6 +129,12 @@ public class RdfIndexingSource extends A
     
     private ResourceLoader loader;
 
+    protected String bnodePrefix; //protected to allow direct access in inner classes
+    /**
+     * used for logging a single WARN level entry on the first ignored BNode
+     */
+    private boolean bnodeIgnored = false;
+    
     /**
      * Default Constructor relaying on that {@link #setConfiguration(Map)} is
      * called afterwards to provide the configuration!
@@ -207,6 +230,37 @@ public class RdfIndexingSource extends A
         } else {
             log.info("Importing RDF data deactivated by parameer {}={}"+PARAM_IMPORT_SOURCE,value);
         }
+        //STANBOL-765: parsed bnode-prefix from parsed configuration.
+        value = config.get(PARAM_BNODE_STATE);
+        final Boolean bnodeState;
+        if(value != null){
+            bnodeState = value instanceof Boolean ? (Boolean) value :
+                Boolean.parseBoolean(value.toString());
+        } else if(config.containsKey(PARAM_BNODE_STATE)){ //support key without value
+            bnodeState = true;
+        } else {
+            bnodeState = null; //undefined
+        }
+        if(bnodeState == null || bnodeState){ //null or enabled -> consider prefix
+            value = config.get(PARAM_BNODE_PREFIX);
+            if(value != null){
+                try {
+                    new URI(value.toString());
+                } catch (URISyntaxException e) {
+                    throw new IllegalArgumentException("The configured "+PARAM_BNODE_PREFIX+"='"
+                        + value.toString() + "' MUST BE a valid URI!");
+                }
+                bnodePrefix = value.toString();
+            } else if(bnodeState != null) { //use default prefix if bnodeState is true
+                bnodePrefix = String.format("urn:bnode:%s:",indexingConfig.getName());
+            } // else bnodeState == null and no custom prefix -> disable by default
+        }
+        if(bnodePrefix != null){
+            log.info("Indexing of Bnodes enabled (prefix: {}",bnodePrefix);
+        } else {
+            log.info("Indexing of Bnodes disabled");
+            
+        }
     }
     @Override
     public boolean needsInitialisation() {
@@ -222,28 +276,57 @@ public class RdfIndexingSource extends A
         loader = null;
         indexingDataset.close();
     }
+    public void debug(){
+        String entityVar = "s";
+        String fieldVar = "p";
+        String valueVar = "o";
+        StringBuilder qb = new StringBuilder();
+        qb.append(String.format("SELECT ?%s ?%s ?%s \n",
+            entityVar,fieldVar,valueVar)); //for the select
+        qb.append("{ \n");
+        qb.append(String.format("    ?%s ?%s ?%s . \n",
+            entityVar,fieldVar,valueVar)); //for the where
+        qb.append("} \n");
+        log.debug("EntityDataIterator Query: \n"+qb.toString());
+        Query q = QueryFactory.create(qb.toString(), Syntax.syntaxARQ);
+        ResultSet rs = QueryExecutionFactory.create(q, indexingDataset.toDataset()).execSelect();
+        Var s = Var.alloc(entityVar);
+        Var p = Var.alloc(fieldVar);
+        Var o = Var.alloc(valueVar);
+        while (rs.hasNext()){
+            Binding b = rs.nextBinding();
+            log.info("{} {} {}",new Object[]{b.get(s),b.get(p),b.get(o)});
+        }
+    }
+    
     @Override
     public EntityDataIterator entityDataIterator() {
-        String enityVar = "s";
+        String entityVar = "s";
         String fieldVar = "p";
         String valueVar = "o";
         StringBuilder qb = new StringBuilder();
         qb.append(String.format("SELECT ?%s ?%s ?%s \n",
-            enityVar,fieldVar,valueVar)); //for the select
+            entityVar,fieldVar,valueVar)); //for the select
         qb.append("{ \n");
         qb.append(String.format("    ?%s ?%s ?%s . \n",
-            enityVar,fieldVar,valueVar)); //for the where
+            entityVar,fieldVar,valueVar)); //for the where
         qb.append("} \n");
         log.debug("EntityDataIterator Query: \n"+qb.toString());
         Query q = QueryFactory.create(qb.toString(), Syntax.syntaxARQ);
         return new RdfEntityIterator(
             QueryExecutionFactory.create(q, indexingDataset.toDataset()).execSelect(),
-            enityVar,fieldVar,valueVar);
+            entityVar,fieldVar,valueVar);
     }
 
     @Override
     public Representation getEntityData(String id) {
-        Node resource = Node.createURI(id);
+        final Node resource;
+        //STANBOL-765: check if the parsed id represents an bnode
+        if(bnodePrefix != null && id.startsWith(bnodePrefix)){
+            resource = Node.createAnon(AnonId.create(id.substring(bnodePrefix.length())));
+        } else {
+            resource = Node.createURI(id);
+        }
         Representation source = vf.createRepresentation(id);
         ExtendedIterator<Triple> outgoing = indexingDataset.getDefaultGraph().find(resource, null, null);
         boolean found = outgoing.hasNext();
@@ -260,10 +343,12 @@ public class RdfIndexingSource extends A
             } //end else predicate != null
         } //end iteration over resource triple
         if(found) {
+            if(log.isTraceEnabled()){
+                log.info("Resource: \n{}", ModelUtils.getRepresentationInfo(source));
+            }
             return source;
-            //log.info("Resource: \n"+ModelUtils.getRepresentationInfo(source));
         } else {
-            log.debug("No Statements found for Entity {}!",id);
+            log.debug("No Statements found for id {} (Node: {})!",id,resource);
             return null;
         }
     }
@@ -324,14 +409,26 @@ public class RdfIndexingSource extends A
                 } //else ignore empty literals
             }
             // "" is parsed if there is no language
-        } else {
-            if(value.isBlank()){
-                log.info("ignoreing blank node value {} for field {} and Resource {}!",
-                        new Object[]{value,field,source.getId()});
+        } else if(value.isBlank()) { 
+            if(bnodePrefix != null) { //STANBOL-765: convert Bnodes to URIs
+                StringBuilder sb = new StringBuilder(bnodePrefix);
+                sb.append(value.getBlankNodeId().getLabelString());
+                source.addReference(field, sb.toString());
             } else {
-                log.warn("ignoreing value {} for field {} and Resource {} because it is of an unsupported type!",
-                        new Object[]{value,field,source.getId()});
+                if(!bnodeIgnored){
+                    bnodeIgnored = true;
+                    log.warn("The Indexed RDF Data do contain Blank Nodes. Those are "
+                        + "ignored unless the '{}' parameter is set to valid URI. "
+                        + "If this parameter is set Bnodes are converted to URIs by "
+                        + "using {bnode-prefix}{bnodeId} (see STANBOL-765)",
+                        PARAM_BNODE_PREFIX);
+                }
+                log.debug("ignoreing blank node value {} for field {} and Resource {}!",
+                    new Object[]{value,field,source.getId()});
             }
+        }  else {
+            log.warn("ignoreing value {} for field {} and Resource {} because it is of an unsupported type!",
+                    new Object[]{value,field,source.getId()});
         } //end different value node type
     }
     /**
@@ -505,9 +602,11 @@ public class RdfIndexingSource extends A
             while(!next && resultSet.hasNext()){
                 Binding binding = resultSet.nextBinding();
                 Node entityNode = binding.get(entityVar);
-                if(entityNode.isURI() && 
-                        // it's unbelievable, but Jena URIs might be empty!
-                        !entityNode.toString().isEmpty()){
+                //NOTES:
+                // * for URIs we need to check for empty URIs!
+                // * STANBOL-765: added support for BNodes
+                if((entityNode.isURI() && !entityNode.toString().isEmpty()) ||
+                        entityNode.isBlank() && bnodePrefix != null){
                     if(!entityNode.equals(currentEntity)){
                         //start of next Entity
                         this.nextEntity = entityNode; //store the node for the next entity
@@ -525,19 +624,22 @@ public class RdfIndexingSource extends A
                 nextEntity = null; //there are no more entities
                 nextBinding = null; // and there are also no more solutions
             }
-            return currentEntity.toString();
+            //STANBOL-765: if current is a Bnode add the bnode-prefix
+            return currentEntity.isBlank() ?
+                new StringBuilder(bnodePrefix).append(currentEntity.getBlankNodeId().getLabelString()).toString() :
+                    currentEntity.getURI();
         }
         /**
          * Processes a {@link Binding} by storing the {@link Node}s for the 
          * variables {@link #fieldVar} and {@link #valueVar} to {@link #data}.
          * This method ensures that both values are not <code>null</code> and
          * that the {@link Node} representing the field is an URI (
-         * returns <code>true</code> for {@link Node#isURI()})
+         * returns <code>true</code> for {@link Node#isURI()}).
          * @param binding the binding to process
          */
         private void processSolution(Binding binding) {
             Node field = binding.get(fieldVar);
-            if(field != null && field.isURI()){
+            if(field != null && field.isURI()){ //property MUST BE an URI
                 Node value = binding.get(valueVar);
                 if(value != null){
                     //add the pair
@@ -557,7 +659,15 @@ public class RdfIndexingSource extends A
          * information for the Representation are already stored in {@link #data}
          */
         private Representation createRepresentation() {
-            Representation representation = vf.createRepresentation(currentEntity.toString());
+            final String uri;
+            if(currentEntity.isBlank()){ //STANBOL-765: support bNodes
+                StringBuilder sb = new StringBuilder(bnodePrefix);
+                sb.append(currentEntity.getBlankNodeId().getLabelString());
+                uri = sb.toString();
+            } else {
+                uri = currentEntity.getURI();
+            }
+            Representation representation = vf.createRepresentation(uri);
             Iterator<Node> it = data.iterator();
             while(it.hasNext()){ 
                 //data contains field,value pairs
@@ -579,7 +689,15 @@ public class RdfIndexingSource extends A
         Collection<Node> nodes = new ArrayList<Node>();
         ExtendedIterator<Triple> it = indexingDataset.getDefaultGraph().find(subject, property, null);
         while(it.hasNext()){
-            nodes.add(it.next().getObject());
+            //STANBOL-765: we need also to transform bnodes to URIs for the
+            //RDFBackend implementation
+            Node object = it.next().getObject();
+            if(bnodePrefix != null && object.isBlank()){
+                StringBuilder sb = new StringBuilder(bnodePrefix);
+                sb.append(object.getBlankNodeId().getLabelString());
+                object = Node.createURI(sb.toString());
+            }
+            nodes.add(object);
         }
         it.close();
         return nodes;
@@ -589,10 +707,36 @@ public class RdfIndexingSource extends A
         Collection<Node> nodes = new ArrayList<Node>();
         ExtendedIterator<Triple> it = indexingDataset.getDefaultGraph().find(null, property, object);
         while(it.hasNext()){
-            nodes.add(it.next().getSubject());
+            Node subject = it.next().getSubject();
+            //STANBOL-765: we need also to transform bnodes to URIs for the
+            //RDFBackend implementation
+            if(bnodePrefix != null && subject.isBlank()){
+                StringBuilder sb = new StringBuilder(bnodePrefix);
+                sb.append(subject.getBlankNodeId().getLabelString());
+                subject = Node.createURI(sb.toString());
+            }
+            nodes.add(subject);
         }
         it.close();
         return nodes;
     }
+    /**
+     * Since STANBOL-765 BNodes are converted to URIs if a {@link #bnodePrefix}
+     * is configured. This also means that one needs to expect calls to the
+     * {@link RDFBackend} interface with transformed Nodes. <p>
+     * This method ensures that if someone requests an uri {@link Node} for a
+     * URI that represents a transformed Bnode (when the URI starts with 
+     * {@link #bnodePrefix}) that the according bnode {@link Node} is created
+     * @param node the node
+     * @return
+     */
+    @Override
+    public Node createURI(String uri) {
+        if(bnodePrefix != null && uri.startsWith(bnodePrefix)){
+            return Node.createAnon(AnonId.create(uri.substring(bnodePrefix.length())));
+        } else {
+            return super.createURI(uri);
+        }
+    }
     
 }

Modified: stanbol/trunk/entityhub/indexing/source/jenatdb/src/test/java/org/apache/stanbol/entityhub/indexing/source/jenatdb/RdfIndexingSourceTest.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/entityhub/indexing/source/jenatdb/src/test/java/org/apache/stanbol/entityhub/indexing/source/jenatdb/RdfIndexingSourceTest.java?rev=1397007&r1=1397006&r2=1397007&view=diff
==============================================================================
--- stanbol/trunk/entityhub/indexing/source/jenatdb/src/test/java/org/apache/stanbol/entityhub/indexing/source/jenatdb/RdfIndexingSourceTest.java (original)
+++ stanbol/trunk/entityhub/indexing/source/jenatdb/src/test/java/org/apache/stanbol/entityhub/indexing/source/jenatdb/RdfIndexingSourceTest.java Thu Oct 11 12:01:12 2012
@@ -16,8 +16,11 @@
 */
 package org.apache.stanbol.entityhub.indexing.source.jenatdb;
 
+import java.io.File;
+import java.io.IOException;
 import java.util.Iterator;
 
+import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.FilenameUtils;
 import org.apache.stanbol.entityhub.indexing.core.EntityDataIterable;
 import org.apache.stanbol.entityhub.indexing.core.EntityDataIterator;
@@ -59,7 +62,7 @@ public class RdfIndexingSourceTest {
      * The methods resets the "user.dir" system property
      */
     @BeforeClass
-    public static void initTestRootFolder(){
+    public static void initTestRootFolder() throws IOException {
         String baseDir = System.getProperty("basedir");
         if(baseDir == null){
             baseDir = System.getProperty("user.dir");
@@ -72,6 +75,41 @@ public class RdfIndexingSourceTest {
         //configurations via classpath
         //store the current user.dir and reset it after the tests
         System.setProperty("user.dir", testRoot);
+
+        //we need also to delete results of previous runs of the test
+        File testConfigs = new File(testRoot,"testConfigs");
+        if(testConfigs.exists()){
+            log.info(" ... clean old test data");
+            for(File testConfig : testConfigs.listFiles()){
+                if(testConfig.getName().charAt(0) == '.'){
+                    continue; //ignore hidden files
+                }
+                log.info("  > {}",testConfig);
+                if(testConfig.isDirectory()){
+                    File dest = new File(testConfig,FilenameUtils.separatorsToSystem("indexing/destination"));
+                    if(dest.isDirectory()){
+                        FileUtils.deleteDirectory(dest);
+                        log.info("    - deleted {}",dest);
+                    } else {
+                        log.info("    - not present {}",dest);
+                    }
+                    File dist = new File(testConfig,FilenameUtils.separatorsToSystem("indexing/dist"));
+                    if(dist.isDirectory()){
+                        FileUtils.deleteDirectory(dist);
+                        log.info("    - deleted {}",dist);
+                    } else {
+                        log.info("    - not present {}",dist);
+                    }
+                    File tdb = new File(testConfig,FilenameUtils.separatorsToSystem("indexing/resources/tdb"));
+                    if(tdb.isDirectory()){
+                        FileUtils.deleteDirectory(tdb);
+                        log.info("    - deleted {}",tdb);
+                    } else {
+                        log.info("    - not present {}",tdb);
+                    }
+                }
+            }
+        } // else no old data present
     }
     /**
      * resets the "user.dir" system property the the original value
@@ -162,7 +200,31 @@ public class RdfIndexingSourceTest {
             9, count), 
             9, count);
     }
-
+    @Test
+    public void testBNodeSupport(){
+        IndexingConfig config = new IndexingConfig(CONFIG_ROOT+"bnode",CONFIG_ROOT+"bnode"){};
+        EntityDataIterable iterable = config.getDataInterable();
+        assertNotNull(iterable);
+        assertEquals(iterable.getClass(), RdfIndexingSource.class);
+        assertTrue(iterable.needsInitialisation());
+        iterable.initialise();
+        ((RdfIndexingSource)iterable).debug();
+        EntityDataIterator it = iterable.entityDataIterator();
+        long count = 0;
+        while(it.hasNext()){
+            String entity = it.next();
+            log.info("validate Entity "+entity);
+            assertNotNull(entity);
+            validateRepresentation(it.getRepresentation(), entity);
+            count++;
+        }
+        //check if all entities where indexed
+        //Expected are 3 entities First France from france.rdf
+        //and two from BNode Entities in bnode.nt
+        assertEquals(String.format("> %s Entities expected but only %s processed!",
+            3, count), 
+            3, count);
+    }
     /**
      * @param it
      * @param entity

Added: stanbol/trunk/entityhub/indexing/source/jenatdb/src/test/resources/testConfigs/bnode/indexing/config/indexFieldConfig.txt
URL: http://svn.apache.org/viewvc/stanbol/trunk/entityhub/indexing/source/jenatdb/src/test/resources/testConfigs/bnode/indexing/config/indexFieldConfig.txt?rev=1397007&view=auto
==============================================================================
--- stanbol/trunk/entityhub/indexing/source/jenatdb/src/test/resources/testConfigs/bnode/indexing/config/indexFieldConfig.txt (added)
+++ stanbol/trunk/entityhub/indexing/source/jenatdb/src/test/resources/testConfigs/bnode/indexing/config/indexFieldConfig.txt Thu Oct 11 12:01:12 2012
@@ -0,0 +1 @@
+#This is the default config that would index everything

Added: stanbol/trunk/entityhub/indexing/source/jenatdb/src/test/resources/testConfigs/bnode/indexing/config/indexing.properties
URL: http://svn.apache.org/viewvc/stanbol/trunk/entityhub/indexing/source/jenatdb/src/test/resources/testConfigs/bnode/indexing/config/indexing.properties?rev=1397007&view=auto
==============================================================================
--- stanbol/trunk/entityhub/indexing/source/jenatdb/src/test/resources/testConfigs/bnode/indexing/config/indexing.properties (added)
+++ stanbol/trunk/entityhub/indexing/source/jenatdb/src/test/resources/testConfigs/bnode/indexing/config/indexing.properties Thu Oct 11 12:01:12 2012
@@ -0,0 +1,22 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name=simple
+description=Simple Configuration
+
+#NOTE the 'bnode-prefix' parameter added to the config
+entityDataIterable=org.apache.stanbol.entityhub.indexing.source.jenatdb.RdfIndexingSource,source:rdfdata,bnode
+
+#entityDataIterable=org.apache.stanbol.entityhub.indexing.source.jenatdb.RdfIndexingSource,source:rdfdata,bnode-prefix:urn:bnode:

Added: stanbol/trunk/entityhub/indexing/source/jenatdb/src/test/resources/testConfigs/bnode/indexing/resources/rdfdata/bnode.nt
URL: http://svn.apache.org/viewvc/stanbol/trunk/entityhub/indexing/source/jenatdb/src/test/resources/testConfigs/bnode/indexing/resources/rdfdata/bnode.nt?rev=1397007&view=auto
==============================================================================
--- stanbol/trunk/entityhub/indexing/source/jenatdb/src/test/resources/testConfigs/bnode/indexing/resources/rdfdata/bnode.nt (added)
+++ stanbol/trunk/entityhub/indexing/source/jenatdb/src/test/resources/testConfigs/bnode/indexing/resources/rdfdata/bnode.nt Thu Oct 11 12:01:12 2012
@@ -0,0 +1,8 @@
+_:node16nh4idjhx60161366 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://rdf.data-vocabulary.org/#Organization>   .
+_:node16nh4idjhx60161366 <http://rdf.data-vocabulary.org/#name> "Century 21 Agawam Realty/ Southhampton"   .
+_:node16nh4idjhx60161366 <http://rdf.data-vocabulary.org/#address> _:node16nh4idjhx60161367   .
+_:node16nh4idjhx60161367 <http://rdf.data-vocabulary.org/#street-address> "85 \u00A0 Jobs Lane,"   .
+_:node16nh4idjhx60161367 <http://rdf.data-vocabulary.org/#locality> "Southampton"   .
+_:node16nh4idjhx60161367 <http://rdf.data-vocabulary.org/#region> "NY"   .
+_:node16nh4idjhx60161367 <http://rdf.data-vocabulary.org/#postal-code> "11968"   .
+_:node16nh4idjhx60161366 <http://rdf.data-vocabulary.org/#tel> "631-283-9200"   .

Added: stanbol/trunk/entityhub/indexing/source/jenatdb/src/test/resources/testConfigs/bnode/indexing/resources/rdfdata/france.rdf
URL: http://svn.apache.org/viewvc/stanbol/trunk/entityhub/indexing/source/jenatdb/src/test/resources/testConfigs/bnode/indexing/resources/rdfdata/france.rdf?rev=1397007&view=auto
==============================================================================
--- stanbol/trunk/entityhub/indexing/source/jenatdb/src/test/resources/testConfigs/bnode/indexing/resources/rdfdata/france.rdf (added)
+++ stanbol/trunk/entityhub/indexing/source/jenatdb/src/test/resources/testConfigs/bnode/indexing/resources/rdfdata/france.rdf Thu Oct 11 12:01:12 2012
@@ -0,0 +1,365 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<rdf:RDF xmlns:cc="http://creativecommons.org/ns#" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:gn="http://www.geonames.org/ontology#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:wgs84_pos="http://www.w3.org/2003/01/geo/wgs84_pos#">
+<gn:Feature rdf:about="http://sws.geonames.org/3017382/">
+<rdfs:isDefinedBy>http://sws.geonames.org/3017382/about.rdf</rdfs:isDefinedBy>
+<gn:name>France</gn:name>
+<gn:officialName xml:lang="ii">ꃔꇩ</gn:officialName>
+<gn:alternateName xml:lang="ko">프랑스</gn:alternateName>
+<gn:alternateName xml:lang="arc">ܦܪܢܣܐ</gn:alternateName>
+<gn:alternateName xml:lang="ja">フランス</gn:alternateName>
+<gn:alternateName xml:lang="lo">ຝລັ່ງ</gn:alternateName>
+<gn:alternateName xml:lang="am">ፈረንሣይ</gn:alternateName>
+<gn:alternateName xml:lang="am">ፈረንሳይ</gn:alternateName>
+<gn:alternateName xml:lang="dz">ཕརཱནསི</gn:alternateName>
+<gn:alternateName xml:lang="km">បារាំង</gn:alternateName>
+<gn:alternateName xml:lang="ta">பிரான்ஸ்</gn:alternateName>
+<gn:alternateName xml:lang="th">ฝรั่งเศส</gn:alternateName>
+<gn:officialName xml:lang="bo">ཕ་རཱན་སི།</gn:officialName>
+<gn:alternateName xml:lang="dv">ފަރަންސޭސިވިލާތް</gn:alternateName>
+<gn:alternateName xml:lang="th">ประเทศฝรั่งเศส</gn:alternateName>
+<gn:alternateName xml:lang="ga">An Fhrainc</gn:alternateName>
+<gn:alternateName xml:lang="gd">An Fhraing</gn:alternateName>
+<gn:alternateName xml:lang="br">Bro-C'hall</gn:alternateName>
+<gn:officialName xml:lang="to">Falanisē</gn:officialName>
+<gn:alternateName xml:lang="ln">Falansia</gn:alternateName>
+<gn:alternateName xml:lang="ty">Farāni</gn:alternateName>
+<gn:alternateName xml:lang="so">Faransiis</gn:alternateName>
+<gn:alternateName xml:lang="so">Faransiiska</gn:alternateName>
+<gn:alternateName xml:lang="jbo">fasygu'e</gn:alternateName>
+<gn:alternateName xml:lang="cy">Ffrainc</gn:alternateName>
+<gn:alternateName xml:lang="is">Frakkland</gn:alternateName>
+<gn:alternateName xml:lang="fo">Frakland</gn:alternateName>
+<gn:alternateName xml:lang="sq">Franca</gn:alternateName>
+<gn:alternateName xml:lang="ca">França</gn:alternateName>
+<gn:alternateName xml:lang="oc">França</gn:alternateName>
+<gn:alternateName xml:lang="pt">França</gn:alternateName>
+<gn:officialName>France</gn:officialName>
+<gn:alternateName xml:lang="aa">France</gn:alternateName>
+<gn:alternateName xml:lang="en">France</gn:alternateName>
+<gn:officialName xml:lang="fr">France</gn:officialName>
+<gn:alternateName xml:lang="frp">France</gn:alternateName>
+<gn:alternateName xml:lang="fur">France</gn:alternateName>
+<gn:alternateName xml:lang="na">France</gn:alternateName>
+<gn:alternateName xml:lang="nrm">France</gn:alternateName>
+<gn:alternateName xml:lang="om">France</gn:alternateName>
+<gn:alternateName xml:lang="pam">France</gn:alternateName>
+<gn:alternateName xml:lang="st">France</gn:alternateName>
+<gn:alternateName xml:lang="sq">Francë</gn:alternateName>
+<gn:alternateName xml:lang="csb">Francëjô</gn:alternateName>
+<gn:alternateName xml:lang="rmy">Franchiya</gn:alternateName>
+<gn:alternateName xml:lang="ast">Francia</gn:alternateName>
+<gn:alternateName xml:lang="co">Francia</gn:alternateName>
+<gn:officialName xml:lang="es">Francia</gn:officialName>
+<gn:alternateName xml:lang="gl">Francia</gn:alternateName>
+<gn:alternateName xml:lang="ia">Francia</gn:alternateName>
+<gn:alternateName xml:lang="ilo">Francia</gn:alternateName>
+<gn:alternateName xml:lang="io">Francia</gn:alternateName>
+<gn:officialName xml:lang="it">Francia</gn:officialName>
+<gn:alternateName xml:lang="la">Francia</gn:alternateName>
+<gn:alternateName xml:lang="scn">Francia</gn:alternateName>
+<gn:alternateName xml:lang="hu">Franciaország</gn:alternateName>
+<gn:alternateName xml:lang="cs">Francie</gn:alternateName>
+<gn:alternateName xml:lang="lv">Francija</gn:alternateName>
+<gn:alternateName xml:lang="sl">Francija</gn:alternateName>
+<gn:alternateName xml:lang="eo">Francio</gn:alternateName>
+<gn:alternateName xml:lang="lmo">Francja</gn:alternateName>
+<gn:alternateName xml:lang="pl">Francja</gn:alternateName>
+<gn:alternateName xml:lang="ang">Francland</gn:alternateName>
+<gn:alternateName xml:lang="la">Francogallia</gn:alternateName>
+<gn:alternateName xml:lang="hsb">Francoska</gn:alternateName>
+<gn:alternateName xml:lang="eo">Francujo</gn:alternateName>
+<gn:alternateName xml:lang="bs">Francuska</gn:alternateName>
+<gn:alternateName xml:lang="hr">Francuska</gn:alternateName>
+<gn:alternateName xml:lang="sh">Francuska</gn:alternateName>
+<gn:alternateName xml:lang="sk">Francúzsko</gn:alternateName>
+<gn:alternateName xml:lang="lb">Frankräich</gn:alternateName>
+<gn:alternateName xml:lang="bar">Frankreich</gn:alternateName>
+<gn:alternateName xml:lang="de">Frankreich</gn:alternateName>
+<gn:alternateName xml:lang="li">Frankriek</gn:alternateName>
+<gn:alternateName xml:lang="nds">Frankriek</gn:alternateName>
+<gn:alternateName xml:lang="da">Frankrig</gn:alternateName>
+<gn:officialName xml:lang="se">Fránkriika</gn:officialName>
+<gn:alternateName xml:lang="nl">Frankrijk</gn:alternateName>
+<gn:alternateName xml:lang="nb">Frankrike</gn:alternateName>
+<gn:alternateName xml:lang="nn">Frankrike</gn:alternateName>
+<gn:alternateName xml:lang="no">Frankrike</gn:alternateName>
+<gn:alternateName xml:lang="sv">Frankrike</gn:alternateName>
+<gn:alternateName xml:lang="ksh">Frankrish</gn:alternateName>
+<gn:alternateName xml:lang="af">Frankryk</gn:alternateName>
+<gn:alternateName xml:lang="fy">Frankryk</gn:alternateName>
+<gn:alternateName xml:lang="ht">Frans</gn:alternateName>
+<gn:officialName xml:lang="az">Fransa</gn:officialName>
+<gn:alternateName xml:lang="ku">Fransa</gn:alternateName>
+<gn:alternateName xml:lang="pms">Fransa</gn:alternateName>
+<gn:alternateName xml:lang="tet">Fransa</gn:alternateName>
+<gn:alternateName xml:lang="tr">Fransa</gn:alternateName>
+<gn:alternateName xml:lang="vo">Fransän</gn:alternateName>
+<gn:alternateName xml:lang="lad">Fransia</gn:alternateName>
+<gn:alternateName xml:lang="nov">Fransia</gn:alternateName>
+<gn:alternateName xml:lang="qu">Fransiya</gn:alternateName>
+<gn:alternateName xml:lang="qu">Fransya</gn:alternateName>
+<gn:alternateName xml:lang="war">Fransya</gn:alternateName>
+<gn:alternateName xml:lang="ro">Franţa</gn:alternateName>
+<gn:alternateName xml:lang="mg">Frantsa</gn:alternateName>
+<gn:alternateName xml:lang="rm">Frantscha</gn:alternateName>
+<gn:alternateName xml:lang="sc">Frantza</gn:alternateName>
+<gn:alternateName xml:lang="eu">Frantzia</gn:alternateName>
+<gn:alternateName xml:lang="mt">Franza</gn:alternateName>
+<gn:alternateName xml:lang="an">Franzia</gn:alternateName>
+<gn:alternateName xml:lang="vec">Franzsa</gn:alternateName>
+<gn:alternateName xml:lang="sco">Fraunce</gn:alternateName>
+<gn:alternateName xml:lang="cdo">Huák-guók</gn:alternateName>
+<gn:alternateName xml:lang="id">Perancis</gn:alternateName>
+<gn:alternateName xml:lang="ms">Perancis</gn:alternateName>
+<gn:alternateName xml:lang="vi">Pháp</gn:alternateName>
+<gn:alternateName xml:lang="kw">Pow Frynk</gn:alternateName>
+<gn:officialName xml:lang="id">Prancis</gn:officialName>
+<gn:alternateName xml:lang="lt">Prancūzija</gn:alternateName>
+<gn:alternateName xml:lang="tpi">Pranis</gn:alternateName>
+<gn:alternateName xml:lang="ceb">Pransiya</gn:alternateName>
+<gn:alternateName xml:lang="tl">Pransya</gn:alternateName>
+<gn:alternateName xml:lang="et">Prantsusmaa</gn:alternateName>
+<gn:alternateName xml:lang="fi">Ranska</gn:alternateName>
+<gn:alternateName>Republic of France</gn:alternateName>
+<gn:alternateName xml:lang="fr">République Française</gn:alternateName>
+<gn:alternateName xml:lang="sw">Ufaransa</gn:alternateName>
+<gn:alternateName xml:lang="vls">Vrankriek</gn:alternateName>
+<gn:alternateName xml:lang="gv">Yn Rank</gn:alternateName>
+<gn:alternateName xml:lang="ur">فرانس</gn:alternateName>
+<gn:alternateName xml:lang="fa">فرانسه</gn:alternateName>
+<gn:alternateName xml:lang="ps">فرانسه</gn:alternateName>
+<gn:alternateName xml:lang="ug">فرانسىيە</gn:alternateName>
+<gn:alternateName xml:lang="ar">فرنسا</gn:alternateName>
+<gn:alternateName xml:lang="he">צרפת</gn:alternateName>
+<gn:alternateName xml:lang="el">Γαλλία</gn:alternateName>
+<gn:alternateName xml:lang="tg">Фаронса</gn:alternateName>
+<gn:officialName xml:lang="mn">Франц</gn:officialName>
+<gn:alternateName xml:lang="os">Франц</gn:alternateName>
+<gn:alternateName xml:lang="cv">Франци</gn:alternateName>
+<gn:alternateName xml:lang="mk">Франција</gn:alternateName>
+<gn:alternateName xml:lang="bg">Франция</gn:alternateName>
+<gn:alternateName xml:lang="ru">Франция</gn:alternateName>
+<gn:alternateName xml:lang="udm">Франция</gn:alternateName>
+<gn:alternateName xml:lang="uz">Франция</gn:alternateName>
+<gn:alternateName xml:lang="uk">Франція</gn:alternateName>
+<gn:alternateName xml:lang="mn">Франц улс</gn:alternateName>
+<gn:alternateName xml:lang="sr">Француска</gn:alternateName>
+<gn:alternateName xml:lang="be">Францыя</gn:alternateName>
+<gn:alternateName xml:lang="hy">Ֆրանսիա</gn:alternateName>
+<gn:alternateName xml:lang="ka">საფრანგეთი</gn:alternateName>
+<gn:alternateName xml:lang="mr">फ्रान्स</gn:alternateName>
+<gn:alternateName xml:lang="ne">फ्रान्स</gn:alternateName>
+<gn:alternateName xml:lang="hi">फ्रांस</gn:alternateName>
+<gn:alternateName xml:lang="ks">फ्रांस</gn:alternateName>
+<gn:alternateName xml:lang="sa">फ्रांस</gn:alternateName>
+<gn:officialName xml:lang="hi">फ़्रांस</gn:officialName>
+<gn:alternateName xml:lang="hi">फ़्राँस</gn:alternateName>
+<gn:alternateName xml:lang="gu">ફ્રાઁસ</gn:alternateName>
+<gn:alternateName xml:lang="te">ఫ్రాన్స్‌</gn:alternateName>
+<gn:alternateName xml:lang="kn">ಫ್ರಾನ್ಸ್</gn:alternateName>
+<gn:alternateName xml:lang="ml">ഫ്രാന്‍സ്</gn:alternateName>
+<gn:alternateName xml:lang="bn">ফ্রান্স</gn:alternateName>
+<gn:officialName xml:lang="ja">フランス共和国</gn:officialName>
+<gn:alternateName xml:lang="zh">法国</gn:alternateName>
+<gn:featureClass rdf:resource="http://www.geonames.org/ontology#A"/>
+<gn:featureCode rdf:resource="http://www.geonames.org/ontology#A.PCLI"/>
+<gn:countryCode>FR</gn:countryCode>
+<gn:population>64768389</gn:population>
+<wgs84_pos:lat>46</wgs84_pos:lat>
+<wgs84_pos:long>2</wgs84_pos:long>
+<gn:parentFeature rdf:resource="http://sws.geonames.org/6255148/"/>
+<gn:parentCountry rdf:resource="http://sws.geonames.org/3017382/"/>
+<gn:childrenFeatures rdf:resource="http://sws.geonames.org/3017382/contains.rdf"/>
+<gn:neighbouringFeatures rdf:resource="http://sws.geonames.org/3017382/neighbours.rdf"/>
+<gn:locationMap rdf:resource="http://www.geonames.org/3017382/republic-of-france.html"/>
+<gn:wikipediaArticle rdf:resource="http://af.wikipedia.org/wiki/Frankryk"/>
+<gn:wikipediaArticle rdf:resource="http://als.wikipedia.org/wiki/Frankreich"/>
+<gn:wikipediaArticle rdf:resource="http://am.wikipedia.org/wiki/%E1%8D%88%E1%88%A8%E1%8A%95%E1%88%A3%E1%8B%AD"/>
+<gn:wikipediaArticle rdf:resource="http://an.wikipedia.org/wiki/Franzia"/>
+<gn:wikipediaArticle rdf:resource="http://ang.wikipedia.org/wiki/Francland"/>
+<gn:wikipediaArticle rdf:resource="http://ar.wikipedia.org/wiki/%D9%81%D8%B1%D9%86%D8%B3%D8%A7"/>
+<gn:wikipediaArticle rdf:resource="http://arc.wikipedia.org/wiki/%DC%A6%DC%AA%DC%A2%DC%A3%DC%90"/>
+<gn:wikipediaArticle rdf:resource="http://ast.wikipedia.org/wiki/Francia"/>
+<gn:wikipediaArticle rdf:resource="http://az.wikipedia.org/wiki/Fransa"/>
+<gn:wikipediaArticle rdf:resource="http://ba.wikipedia.org/wiki/%D0%A4%D1%80%D0%B0%D0%BD%D1%86%D0%B8%D1%8F"/>
+<gn:wikipediaArticle rdf:resource="http://bar.wikipedia.org/wiki/Fr%C3%A5nkreich"/>
+<gn:wikipediaArticle rdf:resource="http://be.wikipedia.org/wiki/%D0%A4%D1%80%D0%B0%D0%BD%D1%86%D1%8B%D1%8F"/>
+<gn:wikipediaArticle rdf:resource="http://bg.wikipedia.org/wiki/%D0%A4%D1%80%D0%B0%D0%BD%D1%86%D0%B8%D1%8F"/>
+<gn:wikipediaArticle rdf:resource="http://bn.wikipedia.org/wiki/%E0%A6%AB%E0%A7%8D%E0%A6%B0%E0%A6%BE%E0%A6%A8%E0%A7%8D%E0%A6%B8"/>
+<gn:wikipediaArticle rdf:resource="http://bo.wikipedia.org/wiki/%E0%BD%95%E0%BC%8B%E0%BD%A2%E0%BD%93%E0%BC%8B%E0%BD%A6%E0%BD%B2"/>
+<gn:wikipediaArticle rdf:resource="http://bpy.wikipedia.org/wiki/%E0%A6%AB%E0%A7%8D%E0%A6%B0%E0%A6%BE%E0%A6%A8%E0%A7%8D%E0%A6%B8"/>
+<gn:wikipediaArticle rdf:resource="http://br.wikipedia.org/wiki/Bro-C%27hall"/>
+<gn:wikipediaArticle rdf:resource="http://bs.wikipedia.org/wiki/Francuska"/>
+<gn:wikipediaArticle rdf:resource="http://ca.wikipedia.org/wiki/Fran%C3%A7a"/>
+<gn:wikipediaArticle rdf:resource="http://cdo.wikipedia.org/wiki/Hu%C3%A1k-gu%C3%B3k"/>
+<gn:wikipediaArticle rdf:resource="http://ce.wikipedia.org/wiki/%D0%A4%D1%80%D0%B0%D0%BD%D1%86%D0%B5"/>
+<gn:wikipediaArticle rdf:resource="http://ceb.wikipedia.org/wiki/Pransiya"/>
+<gn:wikipediaArticle rdf:resource="http://co.wikipedia.org/wiki/Francia"/>
+<gn:wikipediaArticle rdf:resource="http://crh.wikipedia.org/wiki/Frenkistan"/>
+<gn:wikipediaArticle rdf:resource="http://cs.wikipedia.org/wiki/Francie"/>
+<gn:wikipediaArticle rdf:resource="http://csb.wikipedia.org/wiki/Franc%C3%ABj%C3%B4"/>
+<gn:wikipediaArticle rdf:resource="http://cu.wikipedia.org/wiki/%D0%A4%D1%80%D0%B0%D0%BD%D0%BA%D1%97%EF%80%91"/>
+<gn:wikipediaArticle rdf:resource="http://cv.wikipedia.org/wiki/%D0%A4%D1%80%D0%B0%D0%BD%D1%86%D0%B8"/>
+<gn:wikipediaArticle rdf:resource="http://cy.wikipedia.org/wiki/Ffrainc"/>
+<gn:wikipediaArticle rdf:resource="http://da.wikipedia.org/wiki/Frankrig"/>
+<gn:wikipediaArticle rdf:resource="http://de.wikipedia.org/wiki/Frankreich"/>
+<gn:wikipediaArticle rdf:resource="http://diq.wikipedia.org/wiki/Fransa"/>
+<gn:wikipediaArticle rdf:resource="http://dsb.wikipedia.org/wiki/Francojska"/>
+<gn:wikipediaArticle rdf:resource="http://dv.wikipedia.org/wiki/%DE%8A%DE%A6%DE%83%DE%A6%DE%82%DE%B0%DE%90%DE%AD%DE%90%DE%A8%DE%88%DE%A8%DE%8D%DE%A7%DE%8C%DE%B0"/>
+<gn:wikipediaArticle rdf:resource="http://dz.wikipedia.org/wiki/%E0%BD%95%E0%BD%A2%E0%BD%B1%E0%BD%93%E0%BD%A6%E0%BD%B2%E0%BC%8B"/>
+<gn:wikipediaArticle rdf:resource="http://el.wikipedia.org/wiki/%CE%93%CE%B1%CE%BB%CE%BB%CE%AF%CE%B1"/>
+<gn:wikipediaArticle rdf:resource="http://eml.wikipedia.org/wiki/Francia"/>
+<gn:wikipediaArticle rdf:resource="http://en.wikipedia.org/wiki/France"/>
+<owl:sameAs rdf:resource="http://dbpedia.org/resource/France"/>
+<gn:wikipediaArticle rdf:resource="http://eo.wikipedia.org/wiki/Francio"/>
+<gn:wikipediaArticle rdf:resource="http://es.wikipedia.org/wiki/Francia"/>
+<gn:wikipediaArticle rdf:resource="http://et.wikipedia.org/wiki/Prantsusmaa"/>
+<gn:wikipediaArticle rdf:resource="http://eu.wikipedia.org/wiki/Frantzia"/>
+<gn:wikipediaArticle rdf:resource="http://fa.wikipedia.org/wiki/%D9%81%D8%B1%D8%A7%D9%86%D8%B3%D9%87"/>
+<gn:wikipediaArticle rdf:resource="http://fi.wikipedia.org/wiki/Ranska"/>
+<gn:wikipediaArticle rdf:resource="http://fo.wikipedia.org/wiki/Frakland"/>
+<gn:wikipediaArticle rdf:resource="http://fr.wikipedia.org/wiki/France"/>
+<gn:wikipediaArticle rdf:resource="http://frp.wikipedia.org/wiki/France"/>
+<gn:wikipediaArticle rdf:resource="http://fur.wikipedia.org/wiki/France"/>
+<gn:wikipediaArticle rdf:resource="http://fy.wikipedia.org/wiki/Frankryk"/>
+<gn:wikipediaArticle rdf:resource="http://ga.wikipedia.org/wiki/An_Fhrainc"/>
+<gn:wikipediaArticle rdf:resource="http://gd.wikipedia.org/wiki/An_Fhraing"/>
+<gn:wikipediaArticle rdf:resource="http://gl.wikipedia.org/wiki/Francia_-_France"/>
+<gn:wikipediaArticle rdf:resource="http://gn.wikipedia.org/wiki/Hy%C3%A3sia"/>
+<gn:wikipediaArticle rdf:resource="http://gu.wikipedia.org/wiki/%E0%AA%AB%E0%AB%8D%E0%AA%B0%E0%AA%BE%E0%AA%81%E0%AA%B8"/>
+<gn:wikipediaArticle rdf:resource="http://gv.wikipedia.org/wiki/Yn_Rank"/>
+<gn:wikipediaArticle rdf:resource="http://hak.wikipedia.org/wiki/Fap-koet"/>
+<gn:wikipediaArticle rdf:resource="http://he.wikipedia.org/wiki/%D7%A6%D7%A8%D7%A4%D7%AA"/>
+<gn:wikipediaArticle rdf:resource="http://hi.wikipedia.org/wiki/%E0%A4%AB%E0%A4%BC%E0%A5%8D%E0%A4%B0%E0%A4%BE%E0%A4%81%E0%A4%B8"/>
+<gn:wikipediaArticle rdf:resource="http://hr.wikipedia.org/wiki/Francuska"/>
+<gn:wikipediaArticle rdf:resource="http://hsb.wikipedia.org/wiki/Francoska"/>
+<gn:wikipediaArticle rdf:resource="http://ht.wikipedia.org/wiki/Frans"/>
+<gn:wikipediaArticle rdf:resource="http://hu.wikipedia.org/wiki/Franciaorsz%C3%A1g"/>
+<gn:wikipediaArticle rdf:resource="http://hy.wikipedia.org/wiki/%D5%96%D6%80%D5%A1%D5%B6%D5%BD%D5%AB%D5%A1"/>
+<gn:wikipediaArticle rdf:resource="http://ia.wikipedia.org/wiki/Francia"/>
+<gn:wikipediaArticle rdf:resource="http://id.wikipedia.org/wiki/Perancis"/>
+<gn:wikipediaArticle rdf:resource="http://ie.wikipedia.org/wiki/Francia"/>
+<gn:wikipediaArticle rdf:resource="http://ilo.wikipedia.org/wiki/Fransia"/>
+<gn:wikipediaArticle rdf:resource="http://io.wikipedia.org/wiki/Francia"/>
+<gn:wikipediaArticle rdf:resource="http://is.wikipedia.org/wiki/Frakkland"/>
+<gn:wikipediaArticle rdf:resource="http://it.wikipedia.org/wiki/Francia"/>
+<gn:wikipediaArticle rdf:resource="http://ja.wikipedia.org/wiki/%E3%83%95%E3%83%A9%E3%83%B3%E3%82%B9"/>
+<gn:wikipediaArticle rdf:resource="http://jbo.wikipedia.org/wiki/fasygu%27e"/>
+<gn:wikipediaArticle rdf:resource="http://jv.wikipedia.org/wiki/Prancis"/>
+<gn:wikipediaArticle rdf:resource="http://ka.wikipedia.org/wiki/%E1%83%A1%E1%83%90%E1%83%A4%E1%83%A0%E1%83%90%E1%83%9C%E1%83%92%E1%83%94%E1%83%97%E1%83%98"/>
+<gn:wikipediaArticle rdf:resource="http://kab.wikipedia.org/wiki/Fransa"/>
+<gn:wikipediaArticle rdf:resource="http://kg.wikipedia.org/wiki/Fwalansa"/>
+<gn:wikipediaArticle rdf:resource="http://kk.wikipedia.org/wiki/%D0%A4%D1%80%D0%B0%D0%BD%D1%86%D0%B8%D1%8F"/>
+<gn:wikipediaArticle rdf:resource="http://kn.wikipedia.org/wiki/%E0%B2%AB%E0%B3%8D%E0%B2%B0%E0%B2%BE%E0%B2%A8%E0%B3%8D%E0%B2%B8%E0%B3%8D"/>
+<gn:wikipediaArticle rdf:resource="http://ko.wikipedia.org/wiki/%ED%94%84%EB%9E%91%EC%8A%A4"/>
+<gn:wikipediaArticle rdf:resource="http://ks.wikipedia.org/wiki/%E0%A4%AB%E0%A5%8D%E0%A4%B0%E0%A4%BE%E0%A4%82%E0%A4%B8"/>
+<gn:wikipediaArticle rdf:resource="http://ksh.wikipedia.org/wiki/Frangkrisch"/>
+<gn:wikipediaArticle rdf:resource="http://ku.wikipedia.org/wiki/Fransa"/>
+<gn:wikipediaArticle rdf:resource="http://kv.wikipedia.org/wiki/%D0%A4%D1%80%D0%B0%D0%BD%D1%86%D0%B8%D1%8F"/>
+<gn:wikipediaArticle rdf:resource="http://kw.wikipedia.org/wiki/Pow_Frynk"/>
+<gn:wikipediaArticle rdf:resource="http://la.wikipedia.org/wiki/Francia"/>
+<gn:wikipediaArticle rdf:resource="http://lad.wikipedia.org/wiki/Fransia"/>
+<gn:wikipediaArticle rdf:resource="http://lb.wikipedia.org/wiki/Frankr%C3%A4ich"/>
+<gn:wikipediaArticle rdf:resource="http://li.wikipedia.org/wiki/Frankriek"/>
+<gn:wikipediaArticle rdf:resource="http://lij.wikipedia.org/wiki/Fransa"/>
+<gn:wikipediaArticle rdf:resource="http://lmo.wikipedia.org/wiki/Francja"/>
+<gn:wikipediaArticle rdf:resource="http://ln.wikipedia.org/wiki/Falansia"/>
+<gn:wikipediaArticle rdf:resource="http://lo.wikipedia.org/wiki/%E0%BA%9D%E0%BA%B0%E0%BA%A5%E0%BA%B1%E0%BB%88%E0%BA%87"/>
+<gn:wikipediaArticle rdf:resource="http://lo.wikipedia.org/wiki/%E0%BA%9B%E0%BA%B0%E0%BB%80%E0%BA%97%E0%BA%94%E0%BA%9D%E0%BA%B0%E0%BA%A5%E0%BA%B1%E0%BB%88%E0%BA%87"/>
+<gn:wikipediaArticle rdf:resource="http://lt.wikipedia.org/wiki/Pranc%C5%ABzija"/>
+<gn:wikipediaArticle rdf:resource="http://lv.wikipedia.org/wiki/Francija"/>
+<gn:wikipediaArticle rdf:resource="http://mg.wikipedia.org/wiki/Frantsa"/>
+<gn:wikipediaArticle rdf:resource="http://mi.wikipedia.org/wiki/W%C4%ABw%C4%AB"/>
+<gn:wikipediaArticle rdf:resource="http://mk.wikipedia.org/wiki/%D0%A4%D1%80%D0%B0%D0%BD%D1%86%D0%B8%D1%98%D0%B0"/>
+<gn:wikipediaArticle rdf:resource="http://ml.wikipedia.org/wiki/%E0%B4%AB%E0%B5%8D%E0%B4%B0%E0%B4%BE%E0%B4%A8%E0%B5%8D%E2%80%8D%E0%B4%B8%E0%B5%8D"/>
+<gn:wikipediaArticle rdf:resource="http://mn.wikipedia.org/wiki/%D0%A4%D1%80%D0%B0%D0%BD%D1%86_%D1%83%D0%BB%D1%81"/>
+<gn:wikipediaArticle rdf:resource="http://mr.wikipedia.org/wiki/%E0%A4%AB%E0%A5%8D%E0%A4%B0%E0%A4%BE%E0%A4%A8%E0%A5%8D%E0%A4%B8"/>
+<gn:wikipediaArticle rdf:resource="http://ms.wikipedia.org/wiki/Perancis"/>
+<gn:wikipediaArticle rdf:resource="http://mt.wikipedia.org/wiki/Franza"/>
+<gn:wikipediaArticle rdf:resource="http://my.wikipedia.org/wiki/%E1%80%95%E1%80%B9%E1%80%9B%E1%80%84%E1%80%B9%E2%80%8C%E1%80%9E%E1%80%85%E1%80%B9"/>
+<gn:wikipediaArticle rdf:resource="http://na.wikipedia.org/wiki/France"/>
+<gn:wikipediaArticle rdf:resource="http://nah.wikipedia.org/wiki/Francitl%C4%81n"/>
+<gn:wikipediaArticle rdf:resource="http://nap.wikipedia.org/wiki/Franza"/>
+<gn:wikipediaArticle rdf:resource="http://nds.wikipedia.org/wiki/Frankriek"/>
+<gn:wikipediaArticle rdf:resource="http://ne.wikipedia.org/wiki/%E0%A4%AB%E0%A5%8D%E0%A4%B0%E0%A4%BE%E0%A4%A8%E0%A5%8D%E0%A4%B8"/>
+<gn:wikipediaArticle rdf:resource="http://nl.wikipedia.org/wiki/Frankrijk"/>
+<gn:wikipediaArticle rdf:resource="http://nn.wikipedia.org/wiki/Frankrike"/>
+<gn:wikipediaArticle rdf:resource="http://no.wikipedia.org/wiki/Frankrike"/>
+<gn:wikipediaArticle rdf:resource="http://nov.wikipedia.org/wiki/Fransia"/>
+<gn:wikipediaArticle rdf:resource="http://nrm.wikipedia.org/wiki/France"/>
+<gn:wikipediaArticle rdf:resource="http://nv.wikipedia.org/wiki/D%C3%A1%C3%A1ghahii"/>
+<gn:wikipediaArticle rdf:resource="http://oc.wikipedia.org/wiki/Fran%C3%A7a"/>
+<gn:wikipediaArticle rdf:resource="http://os.wikipedia.org/wiki/%D0%A4%D1%80%D0%B0%D0%BD%D1%86"/>
+<gn:wikipediaArticle rdf:resource="http://pam.wikipedia.org/wiki/France"/>
+<gn:wikipediaArticle rdf:resource="http://pdc.wikipedia.org/wiki/Frankreich"/>
+<gn:wikipediaArticle rdf:resource="http://pl.wikipedia.org/wiki/Francja"/>
+<gn:wikipediaArticle rdf:resource="http://pms.wikipedia.org/wiki/Fransa"/>
+<gn:wikipediaArticle rdf:resource="http://ps.wikipedia.org/wiki/%D9%81%D8%B1%D8%A7%D9%86%D8%B3%D9%87"/>
+<gn:wikipediaArticle rdf:resource="http://pt.wikipedia.org/wiki/Fran%C3%A7a"/>
+<gn:wikipediaArticle rdf:resource="http://qu.wikipedia.org/wiki/Phransya"/>
+<gn:wikipediaArticle rdf:resource="http://rm.wikipedia.org/wiki/Frantscha"/>
+<gn:wikipediaArticle rdf:resource="http://rmy.wikipedia.org/wiki/Franchiya"/>
+<gn:wikipediaArticle rdf:resource="http://ro.wikipedia.org/wiki/Fran%C5%A3a"/>
+<gn:wikipediaArticle rdf:resource="http://ru.wikipedia.org/wiki/%D0%A4%D1%80%D0%B0%D0%BD%D1%86%D0%B8%D1%8F"/>
+<gn:wikipediaArticle rdf:resource="http://rw.wikipedia.org/wiki/Ubufaransa"/>
+<gn:wikipediaArticle rdf:resource="http://sa.wikipedia.org/wiki/%E0%A4%AB%E0%A5%8D%E0%A4%B0%E0%A4%BE%E0%A4%82%E0%A4%B8"/>
+<gn:wikipediaArticle rdf:resource="http://sc.wikipedia.org/wiki/Frantza"/>
+<gn:wikipediaArticle rdf:resource="http://scn.wikipedia.org/wiki/Francia"/>
+<gn:wikipediaArticle rdf:resource="http://sco.wikipedia.org/wiki/Fraunce"/>
+<gn:wikipediaArticle rdf:resource="http://se.wikipedia.org/wiki/Frankriika"/>
+<gn:wikipediaArticle rdf:resource="http://sh.wikipedia.org/wiki/Francuska"/>
+<gn:wikipediaArticle rdf:resource="http://sk.wikipedia.org/wiki/Franc%C3%BAzsko"/>
+<gn:wikipediaArticle rdf:resource="http://sl.wikipedia.org/wiki/Francija"/>
+<gn:wikipediaArticle rdf:resource="http://so.wikipedia.org/wiki/Faransiiska"/>
+<gn:wikipediaArticle rdf:resource="http://sq.wikipedia.org/wiki/Franca"/>
+<gn:wikipediaArticle rdf:resource="http://sr.wikipedia.org/wiki/%D0%A4%D1%80%D0%B0%D0%BD%D1%86%D1%83%D1%81%D0%BA%D0%B0"/>
+<gn:wikipediaArticle rdf:resource="http://st.wikipedia.org/wiki/Fora"/>
+<gn:wikipediaArticle rdf:resource="http://stq.wikipedia.org/wiki/Frankriek"/>
+<gn:wikipediaArticle rdf:resource="http://sv.wikipedia.org/wiki/Frankrike"/>
+<gn:wikipediaArticle rdf:resource="http://sw.wikipedia.org/wiki/Ufaransa"/>
+<gn:wikipediaArticle rdf:resource="http://ta.wikipedia.org/wiki/%E0%AE%AA%E0%AE%BF%E0%AE%B0%E0%AE%BE%E0%AE%A9%E0%AF%8D%E0%AE%B8%E0%AF%8D"/>
+<gn:wikipediaArticle rdf:resource="http://tet.wikipedia.org/wiki/Fransa"/>
+<gn:wikipediaArticle rdf:resource="http://tg.wikipedia.org/wiki/%D0%A4%D0%B0%D1%80%D0%BE%D0%BD%D1%81%D0%B0"/>
+<gn:wikipediaArticle rdf:resource="http://th.wikipedia.org/wiki/%E0%B8%9B%E0%B8%A3%E0%B8%B0%E0%B9%80%E0%B8%97%E0%B8%A8%E0%B8%9D%E0%B8%A3%E0%B8%B1%E0%B9%88%E0%B8%87%E0%B9%80%E0%B8%A8%E0%B8%AA"/>
+<gn:wikipediaArticle rdf:resource="http://tk.wikipedia.org/wiki/Fransi%C3%BDa"/>
+<gn:wikipediaArticle rdf:resource="http://tl.wikipedia.org/wiki/Pransya"/>
+<gn:wikipediaArticle rdf:resource="http://tpi.wikipedia.org/wiki/Pranis"/>
+<gn:wikipediaArticle rdf:resource="http://tr.wikipedia.org/wiki/Fransa"/>
+<gn:wikipediaArticle rdf:resource="http://ty.wikipedia.org/wiki/Far%C4%81ni"/>
+<gn:wikipediaArticle rdf:resource="http://udm.wikipedia.org/wiki/%D0%A4%D1%80%D0%B0%D0%BD%D1%86%D0%B8%D1%8F"/>
+<gn:wikipediaArticle rdf:resource="http://ug.wikipedia.org/wiki/%D9%81%D8%B1%D8%A7%D9%86%D8%B3%D9%89%D9%8A%DB%95"/>
+<gn:wikipediaArticle rdf:resource="http://uk.wikipedia.org/wiki/%D0%A4%D1%80%D0%B0%D0%BD%D1%86%D1%96%D1%8F"/>
+<gn:wikipediaArticle rdf:resource="http://ur.wikipedia.org/wiki/%D9%81%D8%B1%D8%A7%D9%86%D8%B3"/>
+<gn:wikipediaArticle rdf:resource="http://uz.wikipedia.org/wiki/Fransiya"/>
+<gn:wikipediaArticle rdf:resource="http://vec.wikipedia.org/wiki/Franzsa"/>
+<gn:wikipediaArticle rdf:resource="http://vi.wikipedia.org/wiki/Ph%C3%A1p"/>
+<gn:wikipediaArticle rdf:resource="http://vls.wikipedia.org/wiki/Vrankryk"/>
+<gn:wikipediaArticle rdf:resource="http://vo.wikipedia.org/wiki/Frans%C3%A4n"/>
+<gn:wikipediaArticle rdf:resource="http://wa.wikipedia.org/wiki/France"/>
+<gn:wikipediaArticle rdf:resource="http://war.wikipedia.org/wiki/Fransya"/>
+<gn:wikipediaArticle rdf:resource="http://wo.wikipedia.org/wiki/Faraas"/>
+<gn:wikipediaArticle rdf:resource="http://wuu.wikipedia.org/wiki/%E6%B3%95%E5%9B%BD"/>
+<gn:wikipediaArticle rdf:resource="http://xal.wikipedia.org/wiki/%D0%9F%D1%80%D0%B0%D0%BD%D1%86"/>
+<gn:wikipediaArticle rdf:resource="http://yi.wikipedia.org/wiki/%D7%A4%D7%A8%D7%90%D7%A0%D7%A7%D7%A8%D7%99%D7%99%D7%9A"/>
+<gn:wikipediaArticle rdf:resource="http://yo.wikipedia.org/wiki/Fransi"/>
+<gn:wikipediaArticle rdf:resource="http://zea.wikipedia.org/wiki/Frankriek"/>
+<gn:wikipediaArticle rdf:resource="http://zh.wikipedia.org/wiki/%E6%B3%95%E5%9B%BD"/>
+<owl:sameAs rdf:resource="http://rdf.insee.fr/geo/PAYS_FR"/>
+</gn:Feature>
+</rdf:RDF>

Added: stanbol/trunk/entityhub/indexing/source/jenatdb/src/test/resources/testConfigs/bnode/indexing/resources/testEntityScore.txt
URL: http://svn.apache.org/viewvc/stanbol/trunk/entityhub/indexing/source/jenatdb/src/test/resources/testConfigs/bnode/indexing/resources/testEntityScore.txt?rev=1397007&view=auto
==============================================================================
--- stanbol/trunk/entityhub/indexing/source/jenatdb/src/test/resources/testConfigs/bnode/indexing/resources/testEntityScore.txt (added)
+++ stanbol/trunk/entityhub/indexing/source/jenatdb/src/test/resources/testConfigs/bnode/indexing/resources/testEntityScore.txt Thu Oct 11 12:01:12 2012
@@ -0,0 +1,5 @@
+http://sws.geonames.org/3017382	100
+http://sws.geonames.org/2983751	34
+http://sws.geonames.org/2985244	10
+http://cv.iptc.org/newscodes/genre/Current	50
+http://cv.iptc.org/newscodes/genre/Exclusive	88
\ No newline at end of file